Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
ergebnisse in Kategorien unterteilt ausgeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
ergebnisse in Kategorien unterteilt ausgeben


 
Murderdeath
04-01-2003, 18:50 
 
Ich möchte die Ergbnisse unseres Vereins übersichtlich per MYSQL und PHP ausgeben. Ich habe das bisher alles per hand gemacht exemplarisch per hand für einen Wettkampf und es war schon ein haufen arbeit und es entstanden sehr viele HTML-Dateien.

Ich möchte das so machen das eine Oberkategorie gibt wo dann der wettkampf angegeben wird. Dann möchte ich unterkategorien für Jungen und Mädchen und dann die Gewichtsklassen. Dann möchte ich wenn die Gewichtsklassen angeklickt werden die ergebnisse dafür in nem neuen Fenster ausgeben werden.

So soll der Aufbau aussehen:

Überschrift:
-Wettkampf 1
-Wettkampf 2
-etc. ( liest also nur die Einträge der 1. Kategorie aus )

Wenn man nun auf einen der Wettkämpfe klickt soll es so aussehen:

Überschrift:
-Wettkampf
--junge
--Mädchen
( Wobei dort halt die Einträge der 2. Kategorie für diesen Wettkampf ausgelesen werden, aber es gibt 1 oder beide Einträge )

Wenn man dann dort auf Junge/Mädchen klickt:

Überschrift:
-Wettkampf
--Junge
---Gewichtsklassen
( Wobei dort halt die 3. Kategorie für diesen Wettkampf ausgelesen wird und die Einträge Variieren können ! )

Ein klick auf einen der Gewichtsklassen öffnet ein neues Fenster mit den dafür vorhergesehenen Ergebnissen die auch aus der DB ausgelesen werden sollen.

Jetzt stellt sich für mich die Frage wie baue ich die Tabelle(n) in MYSQL auf und wie mache ich das dann in PHP ?

 
Abraxax
04-01-2003, 21:15 
 
Original geschrieben von Murderdeath
Jetzt stellt sich für mich die Frage wie baue ich die Tabelle(n) in MYSQL auf und wie mache ich das dann in PHP ?

hier ist schon dein erster denkfehler ... :D

deine DB muss auf jeden fall erst einmal sauber überdacht werden, bevor du anfängst.

ich habe hier mal ein beispiel der tabellen dargestellt.

du MUSST auf jeden fall mit mehreren tabellen arbeiten.

folgenden tabellen solltest du haben incl. mindestens dieser spalten:

gewichtsklassen
---------------------------
GewichtsId
Gewichtsklasse

teilnehmer
---------------------------
TNId
TNName
TNVorname
TNGeschlecht (m/w)
GewichtsId -> verweiss auf die gewichtsklasse, hier wird die Id der GK eingetragen.

wettkämpfe
--------------------------
WKId
WKName
WKTermin
WKTN1 (wettkampfteilnehmer 1)
WKTN2 (wettkampfteilnehmer 2)
-> bei WKTN1 und WKTN2 trägst du die id des teilnehmers ein, die gegeneinander antreten (ich bin jetzt nur vom wettkampf 1 gegen 1 ausgegangen.)

 
Murderdeath
04-01-2003, 21:55 
 
Original geschrieben von Abraxax
hier ist schon dein erster denkfehler ... :D

deine DB muss auf jeden fall erst einmal sauber überdacht werden, bevor du anfängst.


Das meinte ich ja das ich ja erstmal die sache Sauber in MYSQL anfange.

Original geschrieben von Abraxax
WKTN1 (wettkampfteilnehmer 1)
WKTN2 (wettkampfteilnehmer 2)
-> bei WKTN1 und WKTN2 trägst du die id des teilnehmers ein, die gegeneinander antreten (ich bin jetzt nur vom wettkampf 1 gegen 1 ausgegangen.) [/B]

Das brauche ich nicht da ich nur die Ergebnisse dargestellt haben will die Teilnehmer unseres Vereins erziehlt haben. Dass würde dann bleiben:

gewichtsklassen
---------------------------
GewichtsId
Gewichtsklasse ( weiblich und männlich getrennt !?! ; Jungen und Mädchen haben unterschiedliche Gewichtsklassen ! ; vielleicht ein neues Feld geschlecht wo eingetragen wird m oder w ? )

wettkämpfe
--------------------------
WKId
WKName
WKTermin

Aber wie mache ich das jetzt mit den Ergebnissen ?

Neue tabelle ?

ergebnisse
---------------------------
GewichtsID ( z.B.: 2; "2" wird dann aus tabelle "gewichtsklassen" ausgelesen !?! geht das so ?)
ergebniss ( ein Text feld in dem dann die ergebnisse in html eingetragen werde; ist das möglich ? )

Und wie kann es dann weitergehen ?

wettkaempfe.php?wk=index ; bewirkt das nur die daten aus tabelle "wettkämpfe" ausgelesen werden !?!

wettkaempfe.php?wk=1 ; soll bewirken das die daten des 1. Wettkampfs ausglesen werden und wenn Junge UND Mädchen gekämft haben erstmal nur "Jungen" und "Mädchen" ausgegeben werden.

wettkaempfe.php?wk=1&Geschlecht=j ; bewirkt das die gewichtsklassen der "jungen aufgelistet werden; ein Klick auf eine Kategorie bewirkt das ein neues Fenster geöffnet wird mit den jeweiligen Ergebniss !?!?

P.S.: Ich danke dir jetzt schonmal für die Hilfe !

 
Abraxax
04-01-2003, 23:23 
 
Das meinte ich ja das ich ja erstmal die sache Sauber in MYSQL anfange.

-> gut ... :)

gewichtsklassen
---------------------------
GewichtsId
Gewichtsklasse ( weiblich und männlich getrennt !?! ;
Jungen und Mädchen haben unterschiedliche Gewichtsklassen ! ;
vielleicht ein neues Feld geschlecht wo eingetragen wird m oder w ? )

-> ja. ein weiteres feld für die typenbezeichnung der klasse ist nicht
verkehrt. dann kannst du das in eine tabelle machen. oder du
machst für m oder w eine separate tabelle. beides ist möglich.
wenn du es in eine tab machst, musst du nur beim eintragen darauf
achten, dass ein junge nciht ausversehen eine klasse aus w erhält .. :)

Aber wie mache ich das jetzt mit den Ergebnissen ?

-> das ist jetzt die spannende frage.... :p

Neue tabelle ?

-> vieleicht?

ergebnisse
---------------------------
GewichtsID ( z.B.: 2; "2" wird dann aus tabelle "gewichtsklassen"
ausgelesen !?! geht das so ?)

-> genau. mit einem join der tabellen kannst du diese info bekommen.
eine nummer (die id) reicht als referenz schon aus.

ergebniss ( ein Text feld in dem dann die ergebnisse in html
eingetragen werde; ist das möglich ? )

-> auch ein feld zum eintragen des ergebnisses ist möglich. die frage
ist nur, wie das dann aussehen soll. schliesslich kann man auch
'wer das liesst ist doof' eintragen. das wäre ja nicht so doll.

Und wie kann es dann weitergehen ?

wettkaempfe.php?wk=index ; bewirkt das nur die daten aus
tabelle "wettkämpfe" ausgelesen werden !?!

-> z.b.

wettkaempfe.php?wk=1 ; soll bewirken das die daten des
1. Wettkampfs ausglesen werden und wenn Junge UND Mädchen
gekämft haben erstmal nur "Jungen" und "Mädchen" ausgegeben
werden.

-> z.b.
-> w und m musst du auf jeden fall separat getrennt behandeln.
oder gibt es auch mixed?

wettkaempfe.php?wk=1&Geschlecht=j ; bewirkt das die
gewichtsklassen der "jungen aufgelistet werden; ein Klick auf eine
Kategorie bewirkt das ein neues Fenster geöffnet wird mit den
jeweiligen Ergebniss !?!?



ganz genau habe ich das problem von dir noch nicht so ganz durchschaut.

die frage ist nämlich welche daten du erst einmal braucht und wie diese daten im verhältnis stehen.

eins ist zumindest klar, und sind wir uns ja einig. es gibt teilnehmer (m/w) die gewichtsklassen angehören (m/w) damit hätte wir schon einmal diese beiden tabellen fixiert. beide tabellen müssen natürlich später noch genauer definiert werden. erst einmal muss ich ein gesamtbild haben :)

diese teilnehmer tragen wettkämpfe aus. richtig?

wie stehen diese teilnehmer zu den wettkämpfen? du kannst auch nicht nur wk=1 sagen. sondern ein wk findest ja bestimmt auch zu einem termin datum/uhrzeit statt, oder? usw.

versuche mal diese infos zusammenzustellen und berücksichtige dabei auch die zuordnungen zueinander. dann sollten wir eine schöne DB aufbauen können.

 
Murderdeath
04-01-2003, 23:36 
 
Also es gibt einen Wettkampf an den Teilnehmer m und/oder w teilnehmen von unserem Verein.

Ich möchte das in der Übersicht erstmal alle Wettkämpfe die bestritten worden sind aufgelistet werden also

Index:
-----------------
wettkampf 1 am 1.2.3456
wettkampf 2 am 7.8.9000
etc...

Dies daten sollen aus der DB ausgelesen werden

wenn man nun auf einen wettkampf klickt soll folgendes kommen:

1)
Link zur übersicht
wettkampf x am x.x.xxxx
- Jungen ( wenn vorhanden )
- Mädchen ( wenn vorhanden )

Wenn man nun auf Jungen oder Mädchen klickt dann:
2)
Link zur übersicht
Link zu 1)
-Jungen oder Mädchen
Auflistung der Gewichtsklassen in denen Teilnehmer waren

Klick auf eine Gewichtsklasse öffnet ein neues Fenster mit den Ergebnissen zu dieser Gewichtsklasse !!

 
Abraxax
04-01-2003, 23:44 
 
ich schaue mir das morgen mal in ruhe an ... :D

 
Murderdeath
04-01-2003, 23:56 
 
OK, dann gute Nacht.

Zusatz:
ich will erstmal nur das ich die Wettkämpfe per PHP-MYAdmin eintrage und so keinem anderen den Zugriff gestatte.

Ich hoffe das mein Schilderungsversuch verständlich ist.

 
Abraxax
05-01-2003, 20:28 
 
so. ich habe mir erst einmal eine grobe überlegung gemacht.

eine tabelle für die teilnehmer. (name/geschlecht)
eine tabelle für die gewichtsklassen (klasse/geschlecht)
eine tabelle für die wettkämpfe (datum,wettkampfnummer,erziehlte-punkte)
plus diverse verknüpfungstabellen. (minimum zumindest schon eine)

was mich bei deiner 1) irritiert... wieso können am gleichen wettkampf jungen UND mädchen teilnehmen. das wären doch dann unterschiedliche WKs, oder?

versuche doch noch einmal deine DATEN in eine sinnvolle abhängigkeit zu bekommen. mich interessiert nicht, wie das hinterher aussehen soll, sondern in welchem verhältnis die daten zueinander stehen.

 
Murderdeath
05-01-2003, 20:58 
 
ok, dann versuche ich es nochmal.

Also es gibt einen wettkampf:

Daran können Jungen und Mädchen teilgenommen haben; ist aber keine Pflicht.

Jungen und Mädchen haben unterschiedliche Gewichtsklassen.

Ergebnissesollen sollen dann abhängig vom Geschlecht und Gewichtsklasse aufgelistet werden.

eine tabelle für die ergebnisse. (name/platz)
eine tabelle für die gewichtsklassen (klasse/geschlecht)
eine tabelle für die wettkämpfe (datum,wettkampfnummer)
plus diverse verknüpfungstabellen. (minimum zumindest schon eine)

so verständlicher, oder drücke ich mich noch immer nicht richtig aus ?

 
Abraxax
05-01-2003, 21:08 
 
nein. du drückst dich schon gut aus. ich überlege nur ob da noch was fehlt, was nicht berücksichtigt ist. eine db hinterher zu ändern, ist ja nciht schön.

 
Murderdeath
05-01-2003, 21:25 
 
Also die tabelle für die Gewichtsklasse wird nie verändert.

In Die tabelle für die Wettkämpfe kommt ja nur eine Zeile mit den einträgen.

Aber was mir zu denken gibt:

in die tabelle für die ergebnisse können ja mehrere Einträge pro wettkampf sein. Darum sollte in die tabelle nicht noch ein Feld für die WettkampfID und ein Feld für die GewichtsID oder ?

 
Murderdeath
05-01-2003, 22:07 
 
Was meinst du mit Verknüpfungstabelle ?

 
TobiaZ
05-01-2003, 22:29 
 
Hab den Zweig hier nicht durchgelesen, aber Verknüpfungstabelle ist ne Tabelle in der du Zwei dinge zuordnest.

Hast also Moderatoren
id/name
1/TobiaZ

und die Abteilungen
id/Forum
1/Out of Order-Forum

Verknüpfung
m_id/a_id
1/1

damit wird klar, dass ich in OOO-Forum bin.

 
Murderdeath
05-01-2003, 23:10 
 
gut dann wird ja einiges klarer für mich.

tab1:
ergebnisse
wkid,gwid,ergebniss

tab2:
wettkämpfe:
wkid,Name,ort,datum

tab3:
gewichtsklassen:
gwid,geschlecht,gewichtsklasse.

Damit wäre die erste tabelle eine verknügpfungstabelle, oder ?

Ist diese Tabellenstrucktur jetzt eindeutig bzw. klar ?

 
Abraxax
06-01-2003, 11:00 
 
wenn ich heute abend zu hause bin, bastel ich mal kurz und hoffe, dass alles abgedeckt ist. coden musst aber du.. :) ich baue dir nur die tabs und gebe ein paar beispiele.

 
Murderdeath
06-01-2003, 12:02 
 
ok, danke dir !

Da habe ich aber eine Frage:

Wie kriegt man wenn man dann einen Wettkampf ausgewählt hat raus ob Jungen und mädchen teilgenommen haben und wenn Junge oder Mädchen ausgewählt worden ist welche gewichtsklasse(n) an diesem Wettkampf mitgemacht haben !

 
Abraxax
06-01-2003, 12:05 
 
durch die verknüpfung der tabellen ..... :D

bei den teilnehmern steht ja auch das w oder m dabei. danach kann man gruppieren oder auswählen (WHERE)

 
Murderdeath
06-01-2003, 14:56 
 
Danke, ich werde mich dann mal heute Nachmittag dran versuchen die tabellen zu machen und anschließend die PHP-Arbeit !

 
Abraxax
06-01-2003, 15:26 
 
du kannst ja schon anfangen.... :)
wie gesaht. heute abend wollte ich eigentlich dir die tabellen und ein paar demo querys geben.

 
Murderdeath
06-01-2003, 15:46 
 
ohh danke. Dann spiele ich das für mich schonmal durch und gucke ob ich in MYSQL und PHP schon etwas mehr gelernt habe.

 
Abraxax
06-01-2003, 19:01 
 
ich habe schon ein paar tabs fertig. muss jetzt aber mal kurz weg.
du kannst dich aber schon mal hiermit auseinander setzen.

http://de.php.net/manual/de/function.mysql-insert-id.php

und natürlich auch mit den normalen sql befehlen INSERT,SELECT usw... :D

 
Murderdeath
06-01-2003, 19:51 
 
Die normaler SQL Befehle habe ich soweit ganz gut drauf. Habe aber noch nie von ganz anfang an etwas lösen müssen; meißt hatte ich schon "code Schnipsel" :)

 
Abraxax
06-01-2003, 23:33 
 
so. jetzt bin ich soweit. lang lang hats gedauert.
hier nun die tabellen.



CREATE TABLE WK_Gewichtsklassen (
GKId int(11) NOT NULL auto_increment,
GKkg varchar(10) NOT NULL default '',
GKSex char(1) NOT NULL default 'M',
PRIMARY KEY (GKId),
UNIQUE KEY GewichtsklassenKey (GKkg,GKSex)
) TYPE=MyISAM;

CREATE TABLE WK_Teilnehmer (
TNId int(11) NOT NULL auto_increment,
TNName varchar(50) NOT NULL default '',
TNVorname varchar(50) NOT NULL default '',
TNSex char(1) NOT NULL default 'M',
GKId int(11) NOT NULL default '0',
PRIMARY KEY (TNId),
UNIQUE KEY TeilnehmerKey (TNName,TNVorname)
) TYPE=MyISAM;

CREATE TABLE WK_Termine (
TerId int(11) NOT NULL auto_increment,
TerTermin datetime NOT NULL default '0000-00-00 00:00:00',
TerWKNummer int(11) NOT NULL default '0',
PRIMARY KEY (TerId),
UNIQUE KEY TermineKey (TerTermin,TerWKNummer)
) TYPE=MyISAM;

CREATE TABLE WK_Termine_Teilnehmer (
TerId int(11) NOT NULL default '0',
TNId int(11) NOT NULL default '0',
Punkte int(11) NOT NULL default '0',
UNIQUE KEY Termine_Teilnemer (TerId,TNId),
KEY GKId (TerId),
KEY TNId (TNId)
) TYPE=MyISAM;



zuerst müssen viele viele gewichtsklassen definiert werden.
und auch welchen geschlecht sie angehören. w/m => Female / Male

$sql = "INSERT INTO WK_Gewichtsklassen (GKkg,GKSex) VALUES ('".$gewichtsklasse_in_kg_von_bis."','".$geschlecht_F_M."')";


# DEMO ZUM TEST
INSERT INTO WK_Gewichtsklassen (GKId, GKkg, GKSex) VALUES (1, '10-15', 'M');
INSERT INTO WK_Gewichtsklassen (GKId, GKkg, GKSex) VALUES (2, '10-20', 'F');
INSERT INTO WK_Gewichtsklassen (GKId, GKkg, GKSex) VALUES (3, '16-25', 'M');
INSERT INTO WK_Gewichtsklassen (GKId, GKkg, GKSex) VALUES (4, '21-38', 'F');


jetzt kannst du ein FORM machen, in dem du neue user(teilnehmer) anlegen kannst.
dort MUSS das geschlecht definiert werden. F/M (über radiobuttons)

und der insert der daten in die db

$sql = "INSERT INTO WK_Teilnehmer (TNName,TNVorname,TNSex) VALUES ('".$name."','".$vorname."','".$geschlecht."')";

und wieder ein paar demo-daten.


# DEMO ZUM TEST
INSERT INTO WK_Teilnehmer (TNId, TNName, TNVorname, TNSex, GKId) VALUES (1, 'Schmitz', 'Thomas', 'M', 0);
INSERT INTO WK_Teilnehmer (TNId, TNName, TNVorname, TNSex, GKId) VALUES (2, 'Müller', 'Martin', 'M', 0);
INSERT INTO WK_Teilnehmer (TNId, TNName, TNVorname, TNSex, GKId) VALUES (3, 'Bach', 'Thorsten', 'M', 0);
INSERT INTO WK_Teilnehmer (TNId, TNName, TNVorname, TNSex, GKId) VALUES (4, 'Bachhuber', 'Kati', 'F', 0);
INSERT INTO WK_Teilnehmer (TNId, TNName, TNVorname, TNSex, GKId) VALUES (5, 'Schneider', 'Martina', 'F', 0);


diese daten kannst du z.b. als teilnehmertabelle ausgeben und erst einmal
die gewichtsklasse definieren. bei der ausgabe darfst du die id natürlich
nicht vergessen.

in diesem forumal musst du diese daten als selectfeld ausgeben.


$sql = "SELECT GKId,GKkg FROM WK_Gewichtsklassen WHERE TNSex = '".$geschlecht."'";

durch die WHERE einschränkung bekommst du nun schon nur die klassen für das
geschlecht des entsprechenden teilnehmers.

wenn du nun die gewichtsklasse ausgewählt hast, muss die noch gespeichert werden.

$sql = "UPDATE WK_Teilnehmer SET GKId = '".$gewichtsklassen_id."' WHERE TNId = '".$ausgewaehlte_teilnehmer_id."'";


# DEMO
UPDATE WK_Teilnehmer SET GKId = '1' WHERE TNId = '1';
UPDATE WK_Teilnehmer SET GKId = '1' WHERE TNId = '2';
UPDATE WK_Teilnehmer SET GKId = '3' WHERE TNId = '3';
UPDATE WK_Teilnehmer SET GKId = '2' WHERE TNId = '4';
UPDATE WK_Teilnehmer SET GKId = '2' WHERE TNId = '5';


jetzt kannst du auch schon ausgeben lassen, welcher teilnehmer zu welcher gewichtsklasse gehört.



SELECT * FROM WK_Teilnehmer
LEFT OUTER JOIN WK_Gewichtsklassen USING(GKId)



nun musst du termine und eine wettkampfnummer definieren.



$sql = "INSERT INTO WK_Termine (TerTermin,TerWKNummer) VALUES ('".$termin."','".$wknummer."')";

//$termin muss in diesem format vorliegen. (ohne die ') => 'JJJJ-MM-TT HH:MM.SS'



und wieder demo-daten


# DEMO
INSERT INTO WK_Termine (TerId, TerTermin, TerWKNummer) VALUES (1, '2003-10-03 16:00:00', 1);
INSERT INTO WK_Termine (TerId, TerTermin, TerWKNummer) VALUES (2, '2003-10-03 16:00:00', 2);


jetzt hast du termine, aber noch keine teilnehmer an diesen terminen.

die termine wie die teilnehmer oben schon brav auflisten und
an ein form auch die id des termins mitgeben.

du bist nun bei termin 1 und willst teilnehmer hinzufügen.
ganz einfach. nun hast du wieder eine list der teilnehmer
und damit nun auch zusätzlich die id des teilnehmers.



#### ich spare mir ab jetzt einfach die SQL -commands ... :)

# termin ist bekannt : 1
# teilnehmer ist bekannt : 1
INSERT INTO WK_Termine_Teilnehmer (TerId ,TNId) VALUES ('1', '1');

## und
# termin ist bekannt : 2
# teilnehmer ist bekannt : 4
INSERT INTO WK_Termine_Teilnehmer (TerId ,TNId) VALUES ('2', '4');

## und weitere verknüpfungen.
INSERT INTO WK_Termine_Teilnehmer (TerId ,TNId) VALUES ('1', '2');
INSERT INTO WK_Termine_Teilnehmer (TerId ,TNId) VALUES ('1', '3');
INSERT INTO WK_Termine_Teilnehmer (TerId ,TNId) VALUES ('2', '5');





jetzt kannst du das auch schon ausgeben.... :)



SELECT * FROM WK_Termine
LEFT OUTER JOIN WK_Termine_Teilnehmer USING(TerId)
LEFT OUTER JOIN WK_Teilnehmer USING(TNId)
LEFT OUTER JOIN WK_Gewichtsklassen USING(GKId)



nun musst du punkte eintragen können. ich habe das so gemacht, dass
man für jeden match punkte vergeben kann. sie summe ist das für euren
verein. aber so kannst du auch sehen, wieviele punkte ein teilnehmer
von euch erkämpft hat. das ganze noch brav nach terminen getrennt.:)
für das update brauchst du die id des teilnehmers und die des termins.


UPDATE WK_Termine_Teilnehmer SET Punkte = '45' WHERE TerId = '1' AND TNId = '1';
UPDATE WK_Termine_Teilnehmer SET Punkte = '3' WHERE TerId = '1' AND TNId = '2';
UPDATE WK_Termine_Teilnehmer SET Punkte = '4' WHERE TerId = '1' AND TNId = '3';
UPDATE WK_Termine_Teilnehmer SET Punkte = '23' WHERE TerId = '2' AND TNId = '4';
UPDATE WK_Termine_Teilnehmer SET Punkte = '7' WHERE TerId = '2' AND TNId = '5';



und wieder ne ausgabe zum anschauen .... :)



SELECT * FROM WK_Termine
LEFT OUTER JOIN WK_Termine_Teilnehmer USING(TerId)
LEFT OUTER JOIN WK_Teilnehmer USING(TNId)
LEFT OUTER JOIN WK_Gewichtsklassen USING(GKId)




das ganze kannst du auch gruppieren, wie du willst. musst halt die normalen
regeln bei group beachten.



SELECT TerTermin,SUM(Punkte)

FROM WK_Termine
LEFT OUTER JOIN WK_Termine_Teilnehmer USING(TerId)
LEFT OUTER JOIN WK_Teilnehmer USING(TNId)
LEFT OUTER JOIN WK_Gewichtsklassen USING(GKId)

GROUP BY TerTermin

############

SELECT TerTermin,SUM(Punkte),TNSex

FROM WK_Termine
LEFT OUTER JOIN WK_Termine_Teilnehmer USING(TerId)
LEFT OUTER JOIN WK_Teilnehmer USING(TNId)
LEFT OUTER JOIN WK_Gewichtsklassen USING(GKId)

GROUP BY TerTermin,TNSex



sonst noch fragen?????

jetzt solltest du aber alles erdenkliche aus meinm beispiel ableiten können... :D
frage bitte nicht zu viel. ich habe mir heute schon den ganzen tag gedanken gemacht
und jetzt nebenbei das ganze minitut aufgesetzt.

über deine darstellungen der ein- und ausgabe musst du mal überlegen, was wie zu
machen ist. ich habe hier ja auch schon ansätze geliefert.

 
Abraxax
06-01-2003, 23:36 
 
und fürs archiv auch als txt-datei. *hihi*

 
Abraxax
06-01-2003, 23:50 
 
@tobi
gehört das nicht eher ins SQL forum rein?
kannst ja verschieben. danke

 
Murderdeath
07-01-2003, 01:18 
 
Danke dir da ist zwar sehr viel neues drin, aber ich werde da schon durchsteigen. Ich hoffe das ich das bis morgen geschafft habe und dir ein ergebniss präsentieren kann.

 
Abraxax
07-01-2003, 09:49 
 
dann ist ja gut... :) ich habe auch alles schön erklärt.... :D

der rest ist eigentlich nur noch php und bissy html.

 
Murderdeath
07-01-2003, 22:41 
 
Habe alles hingekriegt; habe zwar die tabellen noch einwenig verändert, da ich keine Punkte verteilen möchte sondern nur ein Ergebniss.

Und ich glaube der PHP-Teil war ein bisschen umständlich aber es funzt.

Ich habe nur noch eine Frage:

Da gibt ja ein Feld vom Format datetime mit 0000-00-00 00:00:00

wie mache ich daraus 00-00-0000 ?

 
Abraxax
07-01-2003, 22:43 
 
gar nicht.
das datum wird IMMER so geschrieben, wie ich es gemacht habe. die zeit ist da übrigend auch dabei... :o)

wenn du es schöner in der ausgabe haben willst, kannst du DATE_FORMAT verwenden.


trage statt

TerTermin

dies in der SQL-query ein.

DATE_FORMAT(TerTermin,'%d.%m.%Y - %H:%i') TerTermin

 
Abraxax
07-01-2003, 22:45 
 
ps. im ürbrigen ist das format deswegen so, damit man ein datum auch korrekt sortieren kann.

pps. wo kann man das denn mal sehen .... :D

 
Murderdeath
07-01-2003, 23:35 
 
Sorry aber dadurch krieg ich immer einen Fehler.


$line[TerTermin]


Da kommt TerTermin vor !

 
Murderdeath
07-01-2003, 23:36 
 
Vorher kommt noch das:


$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
?>
<li><a href="<?=$seite?>?wk=<?=$line[TerId]?>"><?=$line[TerName]?> am <?=$line[TerTermin]?>,<?=$line[TerOrt]?></a><br>
</li>
<?PHP
}

Wie schreibe ich das jetzt damit nur das Datum ausgegeben wird ?

Habe schon im PHP Manual geguckt aber nichts passendes gefunden !

 
Abraxax
07-01-2003, 23:38 
 
lasse einfach die zeit wech ... :p

...DATE_FORMAT(TerTermin,'%d.%m.%Y') TerTermin...

[edit]
hier habe ich das auch so gemacht.
http://www.c-k-n.de/gottesdienste/

 
Abraxax
07-01-2003, 23:40 
 
Original geschrieben von Murderdeath
Sorry aber dadurch krieg ich immer einen Fehler.


$line[TerTermin]


Da kommt TerTermin vor !

das hatte ich noch nicht gesehen.
das TerTermin kann aber nicht der fehler sein.
notfalls mache aus dem 2. TerTermin (das ist ein alias) einen anderen namen.

 
Murderdeath
07-01-2003, 23:41 
 
aber bringe ich deinen code ein ?


$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
?>
<li><a href="<?=$seite?>?wk=<?=$line[TerId]?>"><?=$line[TerName]?> am <?=DATE_FORMAT(TerTermin,'%d.%m.%Y') TerTermin?>,<?=$line[TerOrt]?></a><br>
</li>
<?PHP
}


das funzt nicht, oder wie bringe ich das jetzt in den Code ?

Hier nochmal die Original:


$query = "SELECT * FROM wk_termine Order by TerTermin";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
?>
<li><a href="<?=$seite?>?wk=<?=$line[TerId]?>"><?=$line[TerName]?> am <?=$line[TerTermin]?>,<?=$line[TerOrt]?></a><br>
</li>
<?PHP
}

 
Abraxax
07-01-2003, 23:47 
 
wo kann ich das denn mal bewundern?


so? :D



// hier musst du dann alle felder einzeln angeben
$query = "SELECT TerId,TerName,DATE_FORMAT(TerTermin,'%d.%m.%Y') TerTermin,TerOrt FROM wk_termine Order by TerTermin";

// vielleicht klappt es auch so. bin mir nicht sicher.
$query = "SELECT *,DATE_FORMAT(TerTermin,'%d.%m.%Y') TerTermin FROM wk_termine Order by TerTermin";




STOPP

 
Murderdeath
07-01-2003, 23:52 
 
ahh Danke nun funzt es !

Mal gucken was mir sonst noch so auffällt was ich noch verbessern möchte !?! :)

 
Abraxax
07-01-2003, 23:54 
 
habe grad erst gesehen, das du noch ein order auf TerTermin hattest. das würde
nämlich im letzten post nach tag, dann nach monat und dann erst nach jahr sortieren.
das ist nämlich böse.


besser so.


// hier musst du dann alle felder einzeln angeben
$query = "SELECT TerId,TerName,DATE_FORMAT(TerTermin,'%d.%m.%Y') Termin,TerOrt FROM wk_termine Order by TerTermin";

// vielleicht klappt es auch so. bin mir nicht sicher.
$query = "SELECT *,DATE_FORMAT(TerTermin,'%d.%m.%Y') Termin FROM wk_termine Order by TerTermin";


den alias TerTermin habe ich in Termin umbenannt.
mit diesem namen MUSS du weiterarbeiten, wenn du ihn darstellen willst.
zum sortieren natürlich weiterhin mit TerTermin.

....TerName]?> am <?=$line[Termin]?>,<?=$lin....

ich würde nicht unbedingt die kurzschreibweise mit '<?=$...?>' nehmen.
habe gehört, dass das nicht unbedingt überall gehen soll.

mache es lieber so.

....TerName"]?> am <?php echo $line["Termin"]; ?>,<?php echo $lin....

auch mache ich die namen der felder in anführungszeichen. :D


meine frage ist immer noch offen, wo ich das mal bewundern kann.

 
Abraxax
07-01-2003, 23:57 
 
noch was. ich würde nicht immer php auf und zu machen. schreibe das in eine php zeile.


<li><?php echo "<a href=\"".$seite."?wk=".$line["TerId"]."\">".$line["TerName"]." am ".$line["Termin"].", ".$line[TerOrt]."</a>"; ?><br>

[edit]TerTermin -> Termin

 
Murderdeath
08-01-2003, 00:08 
 
Verstanden Sir *g*

Aber nur noch ne Frage warum hast du den Alias TerTermin in Termin während der Formatirung umbenannt ?

 
Abraxax
08-01-2003, 00:11 
 
damit er nach TerTermin sortiert.

2003-01-01 => 01.01.2003
2003-01-20 => 20.01.2003
2003-02-01 => 01.02.2003

aber nicht so (das wäre bei Termin) sortiert.

01.01.2003
01.02.2003
20.01.2003

da du eine ausgabe dieser daten willst, muss ich das anders nennen, wenn ich nach dem originalfeld sortieren will.

[edit]
hatte meinen letzten post nochmal verändert. dort stand bei der ausgabe fälschlicherweise noch TerTermin drin.

 
Murderdeath
08-01-2003, 17:31 
 
hab noch ne Frage?

Wie schreibe ich denn das am besten:


<li><a href="javascript:neuesfenster('<?=$seite?>?wk=<?=$wk?>&geschlecht=<?=$geschlecht?>&GK=<?=$line[GKkg]?>')"><?=$line[GKkg]?></a></li><br>


Sonst habe ich das mit TerTermin hingekriegt. Und den restlichen Code fertig geschrieben.

Kann ja dann nach der Korrektur mal posten was du da so von hälst !?!

 
Abraxax
08-01-2003, 17:41 
 
so.... :D

post bitte nicht den ganzen code hier rein. mache lieber eine datei und hänge sie dem post an.

ich würde es aber mal online in action sehen wollen... :)
kannst mir ja via mail eine url zukommen lassen, wo ich 'spielen' kann.


<li><?php echo "<a href=\"javascript:neuesfenster('".$seite."?wk=".$wk."&geschlecht=".$geschlecht."&GK=".$line[GKkg]."')\">".$line[GKkg]."</a>"; ?></li><br>



<li><?php echo "<a href=\"javascript:neuesfenster('".$seite."?wk=".$wk."&geschlecht=".$geschlecht."&GK=".$line[GKkg]."')\">".$line[GKkg]."</a>"; ?></li><br>

 
Murderdeath
08-01-2003, 23:55 
 
Danke funzt nun.

Den Code hänge ich mal und habe gleich noch eine Frage.

Bisher habe ich als Geschlecht ja "Jungen" und "Mädchen" würde aber gerne noch die "Senioren" dabei haben. Vielleicht hast du eine Idee wie man den Code optimieren kann, denn ich weiß zwar wie ich die dazufügen könnte, wäre aber sehr umständlich. Vielleicht weißt einen einfachen Weg alles zu machen !

Ach übrigens:

Ich komme aus der Nähe von Neuss; Kaarst !

 
Abraxax
08-01-2003, 23:59 
 
seit wann sind senioren ein geschlecht??????? :dontknow:

das kann man brav bei den gewichtsklassen einstellen.

stimmt. kaarst ist nicht weit weg. man kann sich ja mal treffen. :p

 
Murderdeath
09-01-2003, 00:06 
 
Klar das Senioren kein Geschelcht sind, allerdings ist es so das das Geschlecht abgefragt wird und dann ja nachdem mit Link ausgegeben wird welche Gruppe (Jungen und/oder Mädchen) an dem Wettkampf teilgenommen haben. So und da möchte ich halt das wenn die "Senioren" gekämpft haben es auch eine Gruppe "Senioren" gibt !

Ist das verständlich ?

 
Abraxax
09-01-2003, 00:08 
 
dann mache ein 'S' für senioren in die DB rein.

die GKs musst du eh einem teilnehmer zuweisen und der rest sollte kein problem sein.

 
Murderdeath
09-01-2003, 00:20 
 
Gut das ist einleuchtend.

Aber eine Frage ich habe da ja so viele If-Abfragen. Kann ich dann nicht mit Select case das ganze vereinfachen und aus wiederholenden sache(n) Funktionen Definieren ?

Denn so erscheint mir der Ganze Code sehr unübersichtlich und unstrukturiert !:(

 
Murderdeath
09-01-2003, 00:21 
 
Hat das mit dem Code-anhängen nicht geklappt ?

hier nochmal !

 
Abraxax
09-01-2003, 10:46 
 
jepp. du solltest ALLE wiederkehrenden dinge in fkts auslagern.
das macht die sache auf jeden fall übersichtlicher. ich kann dir da ein lied von erzählen.

wenn du eine anhäufung vonIFs/ELSEIFs hast, macht es auf jeden fall sinn,
diese in ein switch zu verpacken.

 
Murderdeath
09-01-2003, 13:44 
 
gibt es hier ein Toturial zum Thema Switch bzw Funktions ?

 
Abraxax
09-01-2003, 13:51 
 
switch
http://de.php.net/manual/de/control-structures.switch.php

ob es für functions was gibt, weiss ich nicht.
hier ist mal ne einfache fkt für dich. diese kannst du analysieren.
damit solltest du klar kommen.




function Funktionsname($var1,$var2,$var3=0) {
// $var3 muss nicht unbedingt übergeben werden.
// diese variable hat dann als standard '0'
$erg = $var1 + $var3 - $var3;
return $erg;
}


// der aufruf sieht so aus.
Funktionsname(1,2);

//oder
Funktionsname(16,4,5);

//oder
echo Funktionsname(16,4,5);

//oder
$neuevar = Funktionsname(16,4,5);

 
Murderdeath
09-01-2003, 14:28 
 
gut das sollte mir weiterhelfen, denn so kann ich nachdem ich z.B.: das geschlecht ausgewählt habe den Code in ne Funktion packen. Frage dazu wo müssen/ können Fuktionen stehen ?

 
Abraxax
09-01-2003, 14:31 
 
die definition einer fkt muss vor dem ersten aufruf erfolgen.

tipp: mache eine datei namen functions.inc.php schreibe dort alle fkt rein und includiere diese datei zu beginn deines script.

du kannst auch mehrere dateien machen, um die fkts verwendungsmäßig zu grupperien.

 
Murderdeath
09-01-2003, 14:35 
 
Danke. Werde dies dann mal versuchen heute Nachmittag hinzukriegen !

 
Murderdeath
09-01-2003, 14:37 
 
Kann man bei der Switch-Anweisung auch mehrere Variabeln abgleicher so wie es bei der IF-Anweisung geht ?

 
Abraxax
09-01-2003, 14:57 
 
soviel ich weiss nicht. du kannst aber innerhalb eines
case wiederrum brüfungen vornehmen. von mir aus
auch mehrere switch ineinander schachteln.

stand dazu nichts im tut?

 
Murderdeath
09-01-2003, 15:39 
 
habe ein Problem:

Teil in wettkämpfe.php:


geschlecht1 (M);
Datei Function.inc.php:



<?PHP
function geschlecht1 ($gsklein)
{
$query = "SELECT * FROM wk_ergebnisse LEFT OUTER JOIN wk_gewichtsklassen USING(GKId) where TerId=$wk";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
if ( $line[GKSex] == "$gsklein" )
{
echo "<li><a href=\"javascript:neuesfenster('".$seite."?wk=".$wk."&geschlecht=".$geschlecht."&GK=".$line[GKkg]."')\">".$line[GKkg]."</a></li><br>";
}
}
}
?>


er spuckt mir jedes mal folgenden Fehler aus:

Warning: Supplied argument is not a valid MySQL result resource in .../functions.inc.php on line 6

 
Abraxax
09-01-2003, 15:46 
 
wenn du meine tabs 1:1 genommen hast, stimmen die namen nicht mehr.

wk_ergebnisse
wk_gewichtsklassen

GROSS/klein-schreibung ist wichtig.

andere möglichkeit ist, dass du den connect zu DB auch in eine fkt gepackt hast. das ist nicht gut... mache den connect ohne fkt.

 
Murderdeath
09-01-2003, 18:12 
 
Der Code in der Funktion klappt wenn ich keine Funktion mache sondern ihn normal ins script einfüge !

Der Connect zur DB wird per Include eingebaut ganz am Anfagn der Seite.

Hier meine Tabellen:

CREATE TABLE wk_ergebnisse (
ErId int(11) NOT NULL auto_increment,
TerId int(11) NOT NULL default '0',
GKId int(11) NOT NULL default '0',
ergebniss text NOT NULL,
PRIMARY KEY (ErId),
UNIQUE KEY ergebnissKey (ErId,TerId,GKId)
) TYPE=MyISAM;


CREATE TABLE wk_gewichtsklassen (
GKId int(11) NOT NULL auto_increment,
GKkg varchar(10) NOT NULL default '',
GKSex char(1) NOT NULL default 'M',
PRIMARY KEY (GKId),
UNIQUE KEY GewichtsklassenKey (GKkg,GKSex)
) TYPE=MyISAM;

CREATE TABLE wk_termine (
TerId int(11) NOT NULL auto_increment,
TerTermin datetime NOT NULL default '0000-00-00 00:00:00',
TerName varchar(50) NOT NULL default '',
TerOrt varchar(50) NOT NULL default '',
PRIMARY KEY (TerId),
UNIQUE KEY TermineKey (TerTermin,TerName)
) TYPE=MyISAM;

 
Abraxax
09-01-2003, 18:22 
 
du musst der fkt auch die VAR $wk zugänglich machen.

dann müsste es gehen.

vergiss nicht, dass du $wk auch beim fkt aufruf eintragen musst.


<?PHP
function geschlecht1 ($gsklein,$wk)
{
$query = "SELECT * FROM wk_ergebnisse LEFT OUTER JOIN wk_gewichtsklassen USING(GKId) where TerId=$wk";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
if ( $line[GKSex] == "$gsklein" )
{
echo "<li><a href=\"java script:neuesfenster('".$seite."?wk=".$wk."&geschlecht=".$geschlecht."&GK=".$line[GKkg]."')\">".$line[GKkg]."</a></li><br>";
}
}
}
?>

 
Murderdeath
09-01-2003, 18:32 
 
aso wenn dem so ist dann aber doch auch $geschlecht oder ?

 
Abraxax
09-01-2003, 18:37 
 
$geschlecht erhält du ja erst mir der anfrage IN DER FKT aus der DB ... :D

 
Murderdeath
09-01-2003, 18:43 
 
ahh danke das wusste ich noch nicht, mal gucken wie ich nun den Code optimieren kann !

 
Murderdeath
09-01-2003, 19:31 
 
Kurze frage noch zu functions.

Variabeln die dort gebraucht werden und außerhalb der function auch noch verwendet werden sollen; müssen diese als "global" gesetzt werden ?

 
Abraxax
09-01-2003, 19:45 
 
ja, so KANN man es machen.

ich mache es meistens so, dass ich nur eine VAR zurückgebe.
nämlich über return.

wenn ich mehr variablen benötige, die zusammen gehören,
mache ich meistens ein array innerhalb der fkt. dieses array
ist ja EINE var, die ich wieder bequem mittels return
zurückgeben kann.

 
Murderdeath
09-01-2003, 20:02 
 
Es klappt Es waren 2 variabeln und so funzt es auch !

 
Abraxax
09-01-2003, 20:05 
 
gut. dann bin ich mal gespannt wie das endresultat aussieht ... :D

 
Murderdeath
09-01-2003, 20:41 
 
ich auch durch die Funktions ist es schon übersichtlicher geworden und jetzt kommen noch die 3.Gruppe; die Senioren und switch statt IF wobei ich da noch am Überlegen ob es sich lohnt !

 
Abraxax
10-01-2003, 11:02 
 
wenn es funktioniert, würde ich die IFs lassen. es mag zwar sein, dass
der code dadurch noch etwas unübersichtlich ist, aber was solls.

wenn du zeit und lust hast, kannst du die aber gegen ein switch() ersetzen, muss aber nicht.

merke dir das nur, dass du bei neueren projekten, die du irgendwann
mal anfangen wirst, das direkt berücksichtigst. dann hast du zumindest
im neuen projekt eine bessere ausgangslage ... :D

 
Murderdeath
14-01-2003, 21:52 
 
so bin jetzt fertig geworden. Hatte zwischendurch keine Zeit gehabt:

functions.inc.php:


<?PHP
function gewichtsklassenauswahl ($gsklein,$wk,$geschlecht)
{
$query = "SELECT * FROM wk_ergebnisse LEFT OUTER JOIN wk_gewichtsklassen USING(GKId) where TerId=$wk";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
if ( $line[GKSex] == "$gsklein" )
{
echo "<li><a href=\"javascript:neuesfenster('".$seite."?wk=".$wk."&geschlecht=".$geschlecht."&GK=".$line[GKkg]."')\">".$line[GKkg]."</a></li><br>";
}
}
}
function geschlechtauswahl ($wk)
{
global $maennlich,$weiblich,$senioren;
$maennlich = "false";
$weiblich = "false";
$senioren = "false";
$query = "SELECT * FROM wk_ergebnisse LEFT OUTER JOIN wk_gewichtsklassen USING(GKId) where TerId=$wk";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
if ( $line[GKSex] == "M" )
{
$maennlich= "true";
}
if ( $line[GKSex] == "F" )
{
$weiblich= "true";
}
if ( $line[GKSex] == "S" )
{
$senioren= "true";
}
}
}
?>


wettkämpfe2.php:


<?php
include("functions.inc.php");
include("../header.php");
?>

<script language="JavaScript" src="ergebnisse.js" type="text/javascript">
</script>
</head>
<?PHP
$seite = "wettkaempfe2.php";
include ("db.php");
if(!isset($wk))
{
$wk="index";
}
if($wk == index && $GK == "")
{
echo "<body bgcolor=#000000 text=#FFFFFF>";
echo "<p align=left><font size=5><b>Wettk&auml;mpfe:</b></font></p><ul>";
$query = "SELECT TerId,TerName,DATE_FORMAT(TerTermin,'%d.%m.%Y') Termin,TerOrt FROM wk_termine Order by TerTermin";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
echo "<li><a href=\"".$seite."?wk=".$line[TerId]."\">".$line[TerName]." am ".$line[Termin].",".$line[TerOrt]."</a><br></li>";
}
}
elseif ($wk != index && $GK == "")
{
if(!isset($geschlecht))
{
$geschlecht="index";
}
echo "<body bgcolor=\"#000000\" text=\"#FFFFFF\">";
echo "<p align=\"left\"><font size=\"5\">";
echo "<b><a href=\"".$seite."?wk=index\">Wettk&auml;mpfe:</a></b></font></p><ul>";
$query = "SELECT TerId,TerName,DATE_FORMAT(TerTermin,'%d.%m.%Y') Termin,TerOrt FROM wk_termine where TerId=$wk";
$result = mysql_query($query);
$line = mysql_fetch_array($result);
echo "<li><b><a href=\"".$seite."?wk=".$wk."&geschlecht=index\">".$line[TerName]." am ".$line[Termin].",".$line[TerOrt]."</a></b></li><br><ul>";

if($geschlecht == index && $GK == "")
{
geschlechtauswahl ($wk);
if ( $maennlich == "true" && $weiblich == "true" && $senioren == "true")
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if ( $maennlich == "true" && $weiblich == "true" && $senioren == "false")
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li>";
}
if ( $maennlich == "true" && $weiblich == "false" && $senioren == "true")
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if ( $maennlich == "false" && $weiblich == "true" && $senioren == "true")
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if ( $maennlich == "true" && $weiblich == "false" && $senioren == "false" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li>";
}
if ( $maennlich == "false" && $weiblich == "true" && $senioren == "false" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li>";
}
if ( $maennlich == "false" && $weiblich == "false" && $senioren == "true" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
}
if ( $geschlecht != index && $GK == "" )
{
geschlechtauswahl ($wk);
if ( $maennlich == "true" && $weiblich == "true" && $senioren == "true" )
{
if($geschlecht == M && $GK == "")
{
echo "<li>Jungen</li><br><ul>";
gewichtsklassenauswahl (M,$wk,$geschlecht);
echo "</ul><li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if($geschlecht == F && $GK == "" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li>Mädchen</li><br><ul>";
gewichtsklassenauswahl (F,$wk,$geschlecht);
echo "</ul><li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li><br>";
}
if($geschlecht == S && $GK == "" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li><br>";
echo "<li>Senioren</li><br><ul>";
gewichtsklassenauswahl (S,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "true" && $weiblich == "true" && $senioren == "false" )
{
if($geschlecht == M && $GK == "")
{
echo "<li>Jungen</li><br><ul>";
gewichtsklassenauswahl (M,$wk,$geschlecht);
echo "</ul><li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li>";
}
if($geschlecht == F && $GK == "" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li>Mädchen</li><br><ul>";
gewichtsklassenauswahl (F,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "true" && $weiblich == "false" && $senioren == "true" )
{
if($geschlecht == M && $GK == "")
{
echo "<li>Jungen</li><br><ul>";
gewichtsklassenauswahl (M,$wk,$geschlecht);
echo "</ul><li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if($geschlecht == S && $GK == "" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=M\">Jungen</a></li><br>";
echo "<li>Senioren</li><br><ul>";
gewichtsklassenauswahl (S,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "false" && $weiblich == "true" && $senioren == "true" )
{
if($geschlecht == F && $GK == "")
{
echo "<li>Mädchen</li><br><ul>";
gewichtsklassenauswahl (F,$wk,$geschlecht);
echo "</ul><li><a href=\"".$seite."?wk=".$wk."&geschlecht=S\">Senioren</a></li>";
}
if($geschlecht == S && $GK == "" )
{
echo "<li><a href=\"".$seite."?wk=".$wk."&geschlecht=F\">Mädchen</a></li><br>";
echo "<li>Senioren</li><br><ul>";
gewichtsklassenauswahl (S,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "true" && $weiblich == "false" && $senioren == "false" )
{
if($geschlecht == M && $GK == "")
{
echo "<li>Jungen</li><br><ul>";
gewichtsklassenauswahl (M,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "false" && $weiblich == "true" && $senioren == "false" )
{
if($geschlecht == F && $GK == "" )
{
echo "<li>Mädchen</li><br><ul>";
gewichtsklassenauswahl (F,$wk,$geschlecht);
echo "</ul>";
}
}
if ( $maennlich == "false" && $weiblich == "false" && $senioren == "true" )
{
if($geschlecht == S && $GK == "" )
{
echo "<li>Senioren</li><br><ul>";
gewichtsklassenauswahl (S,$wk,$geschlecht);
echo "</ul>";
}
}
}
}
if ( $GK != "" )
{
$query = "SELECT * FROM wk_ergebnisse LEFT OUTER JOIN wk_gewichtsklassen USING(GKId) where TerId=$wk";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
if ( $line[GKkg] == $GK && $line[GKSex] == $geschlecht && $wk == $line[TerId] )
{
echo "<body bgcolor=\"#000000\" text=\"#FFFFFF\"><hr>".$line[ergebniss]."<hr>";
echo "<p align=\"center\"><a href=\"javascript:self.close()\">Schlie&szlig;en</a></p>";
}
}
}
?>
</body>
</html>

Hast du vielleicht verbesserungsvorschläge bezüglich des popups im letzten Teil; ich meine das Design !?!?!!?

 
Abraxax
14-01-2003, 21:58 
 
ich schaue mir das morgen mal komplett an ... :) hab jetzt keine lust.... :p
muss noch meinen rechner umbauen. hatte gestern dvd geschaut.
ausserdem wollte ich noch was an einem projekt von mir machen.
ich melde mich wieder.

 
Murderdeath
14-01-2003, 22:00 
 
klar kein Problem.

Kriege in 1-3 Tagen auf mein Window-kit und 2 Kalt-kathoden, dann habe ich auch erstmal was zutun !

 
Abraxax
16-01-2003, 16:18 
 
mhm. irgendwie ist das nicht so richtig ... :goth:

kann es sein, dass du nur die anzeige gesandt hast? ich bekomme nämlich auch nichts, da ich keine daten habe. ausserdem fehlte mit die header.php und die ergebnisse.js.

zippe mal alles zusammen, und poste es komplett. nimm aber die benutzerdaten der DB raus ... :)

 
Murderdeath
16-01-2003, 17:39 
 
kein Problem:

hier auch nochmal die Struktur der 3 Tabellen:


CREATE TABLE wk_ergebnisse (
ErId int(11) NOT NULL auto_increment,
TerId int(11) NOT NULL default '0',
GKId int(11) NOT NULL default '0',
ergebniss text NOT NULL,
PRIMARY KEY (ErId),
UNIQUE KEY ergebnissKey (ErId,TerId,GKId)
) TYPE=MyISAM;



CREATE TABLE wk_gewichtsklassen (
GKId int(11) NOT NULL auto_increment,
GKkg varchar(10) NOT NULL default '',
GKSex char(1) NOT NULL default 'M',
PRIMARY KEY (GKId),
UNIQUE KEY GewichtsklassenKey (GKkg,GKSex)
) TYPE=MyISAM;



CREATE TABLE wk_termine (
TerId int(11) NOT NULL auto_increment,
TerTermin datetime NOT NULL default '0000-00-00 00:00:00',
TerName varchar(50) NOT NULL default '',
TerOrt varchar(50) NOT NULL default '',
PRIMARY KEY (TerId),
UNIQUE KEY TermineKey (TerTermin,TerName)
) TYPE=MyISAM;

 
Abraxax
16-01-2003, 17:47 
 
jetzt fehlen mir aber immer noch daten, oder?

wie kann ich diese eingeben? nur über phpmyadmin oder auch über ein script von dir?

 
Murderdeath
16-01-2003, 17:50 
 
Habe das bisher nur Über PHP MYAdmin gemacht.

Kann dir ja noch meine Testdaten geben.

Ein Script zum Eintragen über ein Script; das habe ich noch nciht fertig !


#
# Daten für Tabelle `wk_ergebnisse`
#

INSERT INTO wk_ergebnisse VALUES (1, 1, 1, 'Test 1');
INSERT INTO wk_ergebnisse VALUES (2, 1, 13, 'Test 2');
INSERT INTO wk_ergebnisse VALUES (3, 2, 1, 'Test 5');
INSERT INTO wk_ergebnisse VALUES (5, 3, 17, 'test 3');
INSERT INTO wk_ergebnisse VALUES (6, 4, 18, 'Seniorenfeeling');
INSERT INTO wk_ergebnisse VALUES (7, 5, 2, 'Test');
INSERT INTO wk_ergebnisse VALUES (8, 5, 18, 'Test');
INSERT INTO wk_ergebnisse VALUES (9, 6, 14, 'Test');
INSERT INTO wk_ergebnisse VALUES (10, 6, 18, 'Test');
INSERT INTO wk_ergebnisse VALUES (11, 7, 4, 'Test');
INSERT INTO wk_ergebnisse VALUES (12, 7, 16, 'Test');
INSERT INTO wk_ergebnisse VALUES (13, 7, 18, 'Test');



#
# Daten für Tabelle `wk_gewichtsklassen`
#

INSERT INTO wk_gewichtsklassen VALUES (1, '17-22', 'M');
INSERT INTO wk_gewichtsklassen VALUES (2, '23-26', 'M');
INSERT INTO wk_gewichtsklassen VALUES (3, '27-29', 'M');
INSERT INTO wk_gewichtsklassen VALUES (4, '30-32', 'M');
INSERT INTO wk_gewichtsklassen VALUES (5, '33-35', 'M');
INSERT INTO wk_gewichtsklassen VALUES (6, '36-38', 'M');
INSERT INTO wk_gewichtsklassen VALUES (7, '39-43', 'M');
INSERT INTO wk_gewichtsklassen VALUES (8, '44-45', 'M');
INSERT INTO wk_gewichtsklassen VALUES (9, '46-50', 'M');
INSERT INTO wk_gewichtsklassen VALUES (10, '51-55', 'M');
INSERT INTO wk_gewichtsklassen VALUES (11, '56-60', 'M');
INSERT INTO wk_gewichtsklassen VALUES (12, '> 60', 'M');
INSERT INTO wk_gewichtsklassen VALUES (13, '27-29', 'F');
INSERT INTO wk_gewichtsklassen VALUES (14, '30-33', 'F');
INSERT INTO wk_gewichtsklassen VALUES (15, '34-38', 'F');
INSERT INTO wk_gewichtsklassen VALUES (16, '39-45', 'F');
INSERT INTO wk_gewichtsklassen VALUES (17, '> 45', 'F');
INSERT INTO wk_gewichtsklassen VALUES (18, 'offen', 'S');



#
# Daten für Tabelle `wk_termine`
#

INSERT INTO wk_termine VALUES (1, '2003-01-07 14:59:31', 'Test Wettkampf 1', 'Kaarst');
INSERT INTO wk_termine VALUES (2, '2003-01-07 14:59:59', 'Test Wettkampf 2', 'Neuss');
INSERT INTO wk_termine VALUES (3, '2003-01-07 18:14:23', 'Test Wettkampf 3', 'DuesselDorf');
INSERT INTO wk_termine VALUES (4, '2003-01-14 20:23:49', 'Test Wettkampf 4', 'bla');
INSERT INTO wk_termine VALUES (5, '2003-01-14 20:24:10', 'Test Wettkampf 5', 'bla');
INSERT INTO wk_termine VALUES (6, '2003-01-14 20:24:25', 'Test Wettkampf 6', 'bla');
INSERT INTO wk_termine VALUES (7, '2003-01-14 20:24:45', 'Test Wettkampf 7', 'bla');


Damit werden so hoffe ich alle Möglichkeiten abgedeckt die auftreten können !

 
Abraxax
16-01-2003, 17:57 
 
warum bildest du das nach click auf einen termin nicht direkt alles ab?

so viele daten sind da ja bestimmt nicht drin, dass du immer neu laden musst und dann ein popup öffnest.

wenn du eine terminübersicht hast, und dann click auf einen termin, sollte nur eine seite aufgehen. das ist aus meiner sicht übersichtlicher. auf dieser seite kannst du dann deine gruppen darstellen, wie du magst.

andere sache. von meinen alten tabellen ist ja gar nichts mehr enthalten, oder?

wann soll das admin-script fertig sein? :D

 
Murderdeath
16-01-2003, 18:50 
 
Also das script sieht dann wie ne Baustruktur aus. so soll es übersichtlich sein.

Von deinen alten Tabellen ist noch viel übergeblieben und durch deine Hilfe habe ich erst den Rest kapiert.

Das Adminscript mache ich so schnell ich kann !

 
Abraxax
16-01-2003, 19:07 
 
alles klar. wenn es fertig ist, poste es doch dann auch mal.

 
Murderdeath
16-01-2003, 22:10 
 
Habe ein Problem bzw. ein Frage:

Wenn ich das Datum eines Neuen Wettkampf eintragen will und schreibe rein: 24-12-2003 12:30:01

Wie krieg ich das richtig formatiert sodass ich es in die DB eintragen kann ?

 
TobiaZ
16-01-2003, 22:13 
 
formatieren mit date();

SUCHE!!! :D

 
Murderdeath
16-01-2003, 22:24 
 
Dann eine andere Frage wenn ich NUR 24-12-2003 eintrage, wie kriege ich daraus: "Year-Month-Day" und das er dann die aktuelle Zeit "Stunde-Minute-Sekunde" dazufügt.

Das ganze desshalb weil in der DB das Feld TerTermin vom Format "datetime" mit dem Standart "0000-00-00 00:00:00" ist.

Ich habe bei www.php.net in den Tutorials gesucht aber nichts gefunden !

 
Abraxax
16-01-2003, 23:00 
 
auch mit date() :D

 
Murderdeath
16-01-2003, 23:02 
 
toll mit date() kann ich wenig anfangen wie funzt das ?

Kann mir einer vielleicht ein beispiel geben.

Und wie kriege ich die aktuelle Zeit ?

Nen Tutorial würde mir ja auch reichen !

 
Abraxax
16-01-2003, 23:06 
 
// aktuelles datum im mysql format
echo date("Y-m-d");

// aktuelle uhrzeit
echo date("H:i:s");


siehe unter date() (http://de.php.net/manual/de/function.date.php)

 
Murderdeath
16-01-2003, 23:14 
 
ahh verstehe und wie "stelle" 7 Tage in diesem Format dar ?

Das was du eben gepostet hast ist das jetzt PHP oder MYSQL. Brauche das in PHP ?

 
Murderdeath
16-01-2003, 23:21 
 
wie kann von der aktuellen Zeit "time()" 7 Tage abziehen ?

 
Abraxax
16-01-2003, 23:23 
 
die fkt date() ist eine php-fkt.

in einer schleife kannst du mehrere formatierungen vornehmen.

zur berechnung der zeit muss da auch was stehen. ausserdem kannst du das auch mit mysql machen.
unter den Date and Time Functions (http://www.mysql.com/doc/en/Date_and_time_functions.html) findest du mehr dazu.

 
Murderdeath
16-01-2003, 23:28 
 
Ich will das jetzt über PHP machen da das Datum der News per time() eingetragen wird. Es wäre ja sinnlos das noch umzuformatieren.

Desswegen füge ich vor der Ausgabe eine If-Schleife ein aber dazu fehlt mir halt:


while( $news = mysql_fetch_array($q_news) )
{
if ( $news[newstime] >= time() HIER MÜSSEN NOCH X TAGE ABGEZOGEN WERDEN !!! )
{ echo writenews($news); }
}

 
Murderdeath
16-01-2003, 23:29 
 
Sorry habe im falschen Post geantwortet:

Einfach nicht beachten. ich kann meine Posts ja nciht löschen !!!

 
Abraxax
16-01-2003, 23:32 
 
ich antworte dennoch .... :D

time() liefert dir sekunden am stück. da kannst du die sekunden für 7 tage abziehen.

7 tage * 24 stunden * 60 minuten * 60 sekunden = 604.800 sekunden komplett.

 
Murderdeath
16-01-2003, 23:37 
 
ahh das hilft mir in der Einen Sache weiter.

In der hier will das so machen:
DATE_FORMAT($wk_termin,'%Y.%m.%d.%H.%i.%s')

$wk_termin kriege ich aus dem Formular. $wk_termin sieht so aus: 00-00-0000 00:00:00

funzt das ?

 
Abraxax
16-01-2003, 23:43 
 
DATE_FORMAT() ist eine mysql fkt.
wenn du auch das korrekte datum verwenden willst, musst du auch beim datum minuszeichen machen bei der uhrzeit doppelpunkte und zwischen datum und uhrzeit ein leerzeichen.

DATE_FORMAT($wk_termin,'%Y-%m-%d %H:%i:%s')

den rest test mal selber. das geht schneller ... :D


NACHTRAG:
wenn du eine var in mysql verwenden willst, muss die auch in hochkomma rein.
DATE_FORMAT('$wk_termin','%Y-%m-%d %H:%i:%s')

 
Murderdeath
17-01-2003, 01:56 
 
Bin mit dem Adminteil so gut wie fertig.

Muss nur noch nen kleinen Teil fertig schreiben.

Poste ihn dann hier !

 
Murderdeath
17-01-2003, 02:30 
 
Habe es zwar fertig aber der macht mucken bei einer IF-Abfrage:

case '4':
$fehler = array();
for ( $i=0; $i <= $anzahl; $i++ )
{
if( $wk_erg".$i." == "" or $GKid".$i." == "")
{
$fehler[] = 'Sie haben nicht alle Felder eingegeben';
}
}
for ( $i=0; $i <= $anzahl; $i++ )
{
if( $GKid".$i." > $wk_ges)
{
$fehler[] = 'Sie haben eine ungültige GKiD eingegeben';
}
}

Woran kann es liegen ?

Im Anhang sind alle dateien die dazugehören !

 
Abraxax
17-01-2003, 16:44 
 
habe bei der admin.php direkt parse errors bekommen.

habe das mal in der zeile 188 so gemacht.


if( $wk_erg[$i] == "" or $GKid[$i] == "")


damit habe ich da keinen parse error, dafür weiter unten wieder ein paar.

da ich nicht das ganze script korrigieren wollte, und auch nicht genau
weiss, was du genau damit machst, schaue mal selber drüber, was da
noch sein kann und ob meine änderung in 188 so gemeint sein könnte.

ich verstehe auch nicht die schleife zwischen 212 - 215 .

 
Murderdeath
17-01-2003, 17:23 
 
Ich schaue mir das heute abend an habe jetzt keine Zeit !

 
Murderdeath
18-01-2003, 03:45 
 
Die Schleife zwischen Zeile 212-215 soll die ergebnisse in die DB eintragen !!

 
Murderdeath
18-01-2003, 04:12 
 
Ich kriege zwar keine Phrase Errors mehr, allerdings wird bei case 2 zu Case 3 die Variabel $anzahl nicht weiter gegeben. Das sehe ich daran das statt Ergebniss1,2,etc nur Ergebniss ".$i.": steht und auch in der URL die variabel fehlt.

Hast du eine Idee ?

 
Abraxax
18-01-2003, 11:33 
 
zeile 159


echo "<tr><td>Ergebniss ".$i.":</td><td><input type=\"text\" name=\"GKid".$i."\"></td><td><input type=\"text\" name=\"wk_erg".$i."\"></td></tr>";


du musst schon doppelte anführungszeichen komplett machen, damit
es klappt. einfache um den string und doppelte drinnen geht natürlich nicht.

irgendwie hatte ich mit das ganze aber anders vorgestellt, was die
benutzung angeht. ich verstehe das nämlich nicht ... :)

aber solange du klar kommst, ist es egal ... :p

 
Murderdeath
18-01-2003, 11:59 
 
wie hattest du dir das denn vorgestellt.
Mit diesem Script kann man einen neuen Wettkampf samt ergebnisse eintragen !

 
Abraxax
18-01-2003, 12:02 
 
bei mir ging es zumindest nicht. egal was ich in die felder eingetragen habe ... :(

ich hatte es mit benutzerfreundlicher vorgestellt.

- wofür sind die zahlen auf der rechten seite?
- welches eingabefeld ist wofür? links oder rechts? :goth: wofür ist was?

 
Murderdeath
18-01-2003, 12:05 
 
ja im case 3 fehlt noch ein bisschen die erklärung. Aber er übergibt die varibal jetzt zwar aber die der URl immer nich nciht. Ich schau mir das ganze gerade nochmal an !

 
Abraxax
18-01-2003, 12:13 
 
ich mail dir mal ein paar zugangsdaten zum testen für dich ... :p

da finde ich diese userfreundlichkeit besser .... :D

 
Murderdeath
18-01-2003, 12:37 
 
ist schon klar. Sieht super aus. Aber ich will es erstmal schaffen einen Neuen Wettkampf einzutragen, dann wollte ich Wettkampf bearbeiten und löschen anfangen. Aber ich muss an diesem script was ändern von der Struktur her weil sonst nie funzen wird !

 
Murderdeath
18-01-2003, 12:39 
 
Dazu will ich für jedes Ergebniss ein Seite haben mit einem Button "nächstes Ergebniss" - Dann wiederholt er den vorigen Scriptteil.

Und einen Button "fertig" doch wie weise ich den 2 buttons verschiedene Prodzeduren zu ?

 
Abraxax
18-01-2003, 12:41 
 
du kannst auch mal daten eintragen. ich habe extra die DB geleert .... :)

wegen mir könnte man sich auch mal persönlich treffen. ich habe so das gefühl, dass du nicht richtig mit der DB struktur umgehen kannst. :)

 
Murderdeath
18-01-2003, 13:22 
 
ich hab das jetzt mal nen bisschen um geschrieben, sodass vorerst nur ein Ergebniss eingetragen werden soll. Allerdings werden die Variabel $wk_erg,$GKid und $wk_ges nicht mit übertragen wohin hingegen die variabel $anzahl übertragen wird. Warum ist dies so ?

 
Abraxax
18-01-2003, 13:30 
 
zeile 120

echo "<form action=\"".$PHP_SELF."?go=3&wkid=".$wkid."&anzahl=".$anzahl."&wk_ges=".$wk_ges."\" method=\"get\">";?>

seit wann gibt man parameter bei einer form in der url mit?
das macht man mit hiddenfields.

ich habe die url NUR ZUM TEST so verändert. auch ein GET habe ich ZUM TEST gemacht.

jetzt kann ich was eintragen .... :)

 
Murderdeath
18-01-2003, 13:42 
 
NAch dem ich in die beiden Testfelder was eingetragen haben und auf weiter drücke spuckt er zwar keine Fehler aus, aber er leitet auf "default" de Switches. In der Url steh nämlich jetzt nur noch "admin.php?GKid=1&wk_erg=test"

 
Abraxax
18-01-2003, 13:47 
 
die anderen benötigten parameter MUSST du noch als hidden field einbinden.

 
Murderdeath
18-01-2003, 14:18 
 
Dies habe ich getan.


{
include ("db.php");
mysql_query("INSERT INTO wk_termine (TerTermin,TerName,TerOrt) VALUES ('".$wk_termin[0]."".$wk_termin[1]."".$wk_termin[2]."".$wk_termin[1]."".$wk_termin[3]."".$wk_termin[4]."".$wk_termin[5]."".$wk_termin[7]."".$wk_termin[6]."".$wk_termin[7]."".$wk_termin[6]."','$wk_name','$wk_ort')") or die(mysql_error());
$query = "SELECT TerId FROM wk_termine where TerName='$wk_name' and TerOrt='$wk_ort'";
$result = mysql_query($query);
$line = mysql_fetch_array($result);
$wkid = $line[TerId];
echo "<form action=\"".$PHP_SELF."?go=3&wkid=".$wkid."&anzahl=".$anzahl."&wk_ges=".$wk_ges."\" method=\"get\">";?>
<input type="hidden" name="anzahl" value="1">
<input type="hidden" name="wk_ges" value="<?PHP echo "".$wk_ges."";?>">
<input type="hidden" name="go" value="3">
<table width="100%" border="0">
<tr>
<td width="65%">
<table width="100%" border="0" cellpadding="6" cellspacing="6" align="center">
<tr>
<td colspan="3">
<h1>Tragen sie nun das <?PHP echo "".$anzahl."";?>. Ergebnisse ein:</h1>
</td>
</tr>
<tr>
<td colspan="3">Hinwei&szlig;: Das erste Feld ist f&uuml;r die GKiD und das 2. f&uuml;r
das Ergebniss !</td>
</tr>
<tr><td>Ergebniss <?PHP echo "".$anzahl."";?>:</td><td><input type="text" name="GKid"></td><td><input type="text" name="wk_erg"></td></tr>
<tr>
<td>
<input type="submit" value="Weiter >>">
</td>
</tr>
</table>
</td>
<td width="35%">
<table width="100%" border="0">
<?php
$query = "SELECT * FROM wk_gewichtsklassen";
$result = mysql_query($query);
$wk_ges=0;
while ($line = mysql_fetch_array($result))
{
$wk_ges++;
echo "<tr><td>".$line[GKId]."</td><td>".$line[GKkg]."</td><td>".$line[GKSex]."</td></tr>";
}
?>
</table>
</td>
</tr>
</table>
</form>
<?PHP
}


Allerdings wird immernoch nicht die variabel $wk_ges übergeben !!?!

 
Abraxax
18-01-2003, 14:22 
 
korrekter syntax ist das zauberwort und dein freund .... :D


<input type="hidden" name="wk_ges" value="<?PHP echo $wk_ges; ?>">

 
Murderdeath
18-01-2003, 14:29 
 
<input type="hidden" name="wk_ges" value="<?PHP echo $wk_ges; ?>">


ist doch das gleiche wie:


<input type="hidden" name="wk_ges" value="<?PHP echo "".$wk_ges.""; ?>">


oder ?

Aber trotzdem wird die variabel nicht übergeben !?

Hier nochmal der Teil indem die Variabel ihren Wert kriegen soll:


<?php
$query = "SELECT * FROM wk_gewichtsklassen";
$result = mysql_query($query);
$wk_ges=0;
while ($line = mysql_fetch_array($result))
{
$wk_ges++;
echo "<tr><td>".$line[GKId]."</td><td>".$line[GKkg]."</td><td>".$line[GKSex]."</td></tr>";
}
?>

 
Abraxax
18-01-2003, 14:36 
 
das gleiche ist das schon. aber du hattest vorhin einen " vergessen.


// FALSCH
<?PHP echo ".$wk_ges."";?>
// so war das glaube ich vorhin gewesen.


wenn ich das richtig sehe, verwendet diu $wk_ges nicht in der schleife.
mache es dann so.


<?php
$query = "SELECT * FROM wk_gewichtsklassen";
$result = mysql_query($query);
$wk_ges = mysql_num_rows($result); // hier hast du auch die gesamtzahl.
while ($line = mysql_fetch_array($result))
{
echo "<tr><td>".$line[GKId]."</td><td>".$line[GKkg]."</td><td>".$line[GKSex]."</td></tr>";
}
?>

 
Murderdeath
18-01-2003, 14:48 
 
ja das was du vorgeschlagen ist natürlich besser und ich habe es auch gemacht. Allerdings ist die variabel $wk_ges immer noch leer !??

 
Abraxax
18-01-2003, 14:53 
 
ist ja auch klar.

der verwendest die VAR in zeile 121 aber erst in zeile 149 wird sie deklariert.

 
Murderdeath
18-01-2003, 14:54 
 
autsch hätte mir ja auch selbst klar sein müssen.

Erst denken dann proggen *g*

Also verfrachte ich das hiddenfield hinter das query !

 
Murderdeath
18-01-2003, 14:56 
 
Nun wird zwar die Variabel übergeben, aber nun kriege ich folgenden Fehler:

Column count doesn't match value count at row 1

 
Abraxax
18-01-2003, 15:02 
 
mache mal das hidden einfach hinter die zeile 154

 
Murderdeath
18-01-2003, 15:08 
 
das habe ich ja gemacht gehabt und alles wird auch übergeben:

admin.php?anzahl=1&go=3&GKid=1&wk_erg=test&wk_ges=18

und das alles seine Richtigkeit hat wird auch die von mir geschaffe überprüfung der Feld spring nicht an.

Also muss es hier dran liegen:


{
include ("db.php");
mysql_query("INSERT INTO wk_ergebnisse (TerId,GKId,ergebniss) VALUES ('".$wkid.",".$GKid.",".$wk_erg."')") or die(mysql_error());
?>

Aber ich finde den Fehler nicht !

 
Murderdeath
18-01-2003, 15:52 
 
Auch PHPMYAdmin meldet den Fehler: Column count doesn't match value count at row 1

Hier nochmal die Struktur der TB:


CREATE TABLE wk_ergebnisse (
ErId int(11) NOT NULL auto_increment,
TerId int(11) NOT NULL default '0',
GKId int(11) NOT NULL default '0',
ergebniss text NOT NULL,
PRIMARY KEY (ErId),
UNIQUE KEY ergebnissKey (ErId,TerId,GKId)
) TYPE=MyISAM;

 
Murderdeath
18-01-2003, 16:54 
 
hab den fehler gefunden:


mysql_query("INSERT INTO wk_ergebnisse (TerId,GKId,ergebniss) VALUES ('$wkid','$GKid','$wk_erg')") or die(mysql_error());

dann werde ich nun endlich weitermachen können !

 
Murderdeath
18-01-2003, 17:46 
 
habe ein Problem:


case '3':
include("../header.php");
?>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" bgcolor="#000000" text="#FFFFFF">
<?PHP
$fehler = array();
if( $wk_erg == "" or $GKid == "")
{
$fehler[] = 'Sie haben nicht alle Felder eingegeben';
}
if( $GKid > $wk_ges)
{
$fehler[] = 'Sie haben eine ungültige GKiD eingegeben';
}
if( count($fehler) > 0 )
{
echo 'Es ist ein Fehler aufgetreten:<br><br>';
for( $i = 0; $i < count($fehler); $i++ )
{
echo '- '.$fehler[$i].'<br>';
}
echo '<br>Bitte gehen Sie <a href="javascript:history.go(-1)">zur&uuml;ck</a> und wiederholen Sie den Vorgang!';
}
else
{
include ("db.php");
mysql_query("INSERT INTO wk_ergebnisse (TerId,GKId,ergebniss) VALUES ('$wkid','$GKid','$wk_erg')") or die(mysql_error());
?>
<?PHP echo $wkid; ?>
<table width="100%" border="0" cellpadding="6" cellspacing="6" align="center">
<tr>
<td width="21%">
<form action="<?echo $PHP_SELF?>?go=1" method="post">
<b>Ergebnisse hinzugefügt !!!</b><br>
<br>
<input type="submit" value="Neuer Wettkampf >>">
</form>
</td>
<td width="79%">
<form action="<?echo $PHP_SELF?>?go=2" method="get">
<input type="hidden" name="go" value="2">
<input type="hidden" name="wkid" value="<?PHP echo $wkid; ?>">
<b>Weitere Ergebnisse hinzuf&uuml;gen:</b><br>
<br>
<input type="submit" value="Weiter &gt;&gt;">
</form>
</td>
</tr>
</table>
<?PHP
}
break;


Im letzen Teildas die variabel $wkid nicht direkt weitergegeben sodass ich nen Fehler kriege, man schon wieder einer *G*

Hab mal alles drangehängt !

 
Abraxax
18-01-2003, 17:51 
 
habe das script nicht geladen, weil ich schon einen fehler gesehen habe.

du machst einen query und dann? keine zuweisung ... nichts?

das geht natürlich nciht. ein mysql_fetch_array() kann auch helfen ... :)

 
Murderdeath
18-01-2003, 18:02 
 
Meinst du hier ?


mysql_query("INSERT INTO wk_ergebnisse (TerId,GKId,ergebniss) VALUES ('$wkid','$GKid','$wk_erg')") or die(mysql_error());
Die variable wird dort aber richtig eingetragen aber bei meinem Test direkt draunter:


<?PHP echo $wkid; ?>

ist sie leer ?!?!

Die variable $wkid kriege ich ja aus case 2 !

 
Abraxax
18-01-2003, 18:07 
 
genau da. und wo wird mysql_query einer VAR zugewiesen?
und wo passiert das mysql_fetch_array ?

käse , ist ja ein INSERT ... :D

bin schon schön verwirrt. :p

wird die var überschrieben?

 
Abraxax
18-01-2003, 18:10 
 
Original geschrieben von Murderdeath
Die variable $wkid kriege ich ja aus case 2 !

am ende von case=2 ist ein break , da gehts dann nicht mehr weiter :teach:

mache dir eine fkt, die die summer ausliest. dann kannst du das in beiden verwenden.

 
Murderdeath
18-01-2003, 18:23 
 
so ich habs jetzt hin bekommen.

ich hatte ein Hiddenfield in case 2 vergessen. das script hat eine 0 in die DB eingetragen was mit nicht aufgefallen ist !

Mal gucken wann ich dazu wieder lust weiter zu proggen und ins Script noch "bearbeiten" und und "löschen" von wettkämpfen einzubauen !

 
Abraxax
18-01-2003, 18:28 
 
alles klar... :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:10 Uhr.