SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.07.2004, 13:48:14
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
gleich mehrere Fragen auf einmal

Hi,
Ich hab folgendes Problem, bei dem ihr mir hoffentlich mal wieder helfen könnt.
Ich bin gerade dabei das hier (http://www.selfphp.info/forum/showth...&threadid=7975) umzusetzten.
Nun hab ich folgende Fragestellungen:


erste Frage
Ich hab folgende Tabelle:

ID|Spieltag|HID|AID|ToreH|ToreA|Verlaengerung

In dieser Tabelle werden alle Spiele erfasst, so dass ich den kompletten Spielplan in der Tabelle hab.
Nun möchte ich ein SELECT FORM machen, wo man den Spieltag auswählen kann.
Wenn ich nun einfach eine Abfrage mach:

SELECT * FROM spiel ORDER BY Spieltag ASC

und dann im FORM-TAG in der WHILE Schleife mit $row[Spieltag] arbeite bekomm ich die Spieltage mehrfach, da ja zu jedem Spieltag ca. 7 Spiele erfasst werden.

Wie bekomm ich das hin, dass ich die Spieltag nicht mehrfach in der Auswahl hab.

zweite Frage
Ich möchte pro Spieltag die Ergebnisse erfassen.
wie bekomm ich das am besten hin, dass er die Werte richtig speichert.

Spiel 1: ToreH:ToreA
Spiel 2: ToreH:ToreA
Spiel 3: ToreH:ToreA
Spiel 4: ToreH:ToreA
.
.
.

Und wenn ich das übergeb soll er das richtig in der oben schon erwähnten Tabelle speichern.

Danke schon mal für eure Hilfe...
Bin noch nicht so der Könner.

Gruß
Soeren

EDIT MEINT

Ich hab noch ein Punkt vergessen

Ich möchte aus der Tabelle, also aus dem Spielplan eine Kreuztabelle entwerfen... habt ihr ne Idee, wie man das am besten lösen kann?
Team 1 | Team 2 | Team 3 | ....
Team 1 xxxxxxx| 1:2 | 13.6. | ....
Team 2 1:2 |xxxxxxxx| 2:3 | ....


Geändert von Soeren (05.07.2004 um 13:56:26 Uhr)
Mit Zitat antworten
  #2  
Alt 05.07.2004, 14:13:01
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zur 1. Frage:
Ist es nicht so, dass die Anzahl der Spieltage davon abhängig ist, wieviele Mannschaften in der Liga spielen? Du könntest also die Anzahl der Mannschaften ermitteln und dann daraus berechnen, wieviele Spieltage es geben muss und diese Zahl in der Variablen $anzahlSpiele speichern.
Dann ist die Ausgabe auch nicht mehr schwer:
PHP-Code:
echo '<form method="POST" action="seite.php">n'
echo '<select name="spieltag" size="1">n';
for(
$i=1$i<=$anzahlSpiele$i++){
    
'<option value="' $i '">' $i '. Spieltag</option>n'
    
}
echo 
'</select>n';
echo 
'</form>n'
Zur 2. Frage:
Die habe ich nicht ganz verstanden. Vielleicht könntest du die noch einmal näher erläutern.

Zur 3. Frage:
Schau dir das mal an:

PHP-Code:
<?php
//TEAMNAMEN MIT ZUGEHÖRIGER ID IN ARRAY SPEICHERN
$result=mysql_query("SELECT ID, name, aktuell FROM verein WHERE LID='$LID' ORDER BY name, ID");
while(
$row=mysql_fetch_array($resultMYSQL_ASSOC)){
    
$team[$row['ID']]=$row['name'];
    
$heimverein[]=$row['ID'];
    
$ausverein[]=$row['ID'];
    }

$result=mysql_query("SELECT HID, AID, toreH, toreA FROM spieltag WHERE LID='$LID' ORDER BY ID");
while(
$row=mysql_fetch_array($result)){
    
$spiele[$row['HID']][$row['AID']]=$row['toreH'] . ":" $row['toreA'];
    }
?>
<table border="0" cellspacing="1" cellpadding="4">

<tr>
<td colspan="2">&nbsp;</td>
<?php
for($i=1$i<=count($team); $i++){
    echo 
"<td>" $i "</td>n";
    }
?>
</tr>

<?php
for($zeile=1$zeile<=count($team); $zeile++){
    
$HID=$heimverein[$zeile-1];

    echo 
"<tr>n";
    echo 
"<td>" $zeile "</td>n";
    echo 
"<td>" $team[$HID] . "</td>n";

    for(
$spalte=1$spalte<=count($team); $spalte++){
        
$AID=$ausverein[$spalte-1];

        echo 
"<td>";
        if(
$HID==$AID) echo "-";
        else{
            if(!empty(
$spiele[$HID][$AID])){
                echo 
$spiele[$HID][$AID];
                }
            else{
                echo 
"&nbsp;";
                }
            }
        echo 
"</td>n";
        }

    echo 
"</tr>n";
    }
?>

</table>
Habe das aus einem mal von mir geschriebenen Script herauskopiert. Hoffe, dass ich da nichts vergessen habe. Aber das Prinzip sollte klar werden.
Mit Zitat antworten
  #3  
Alt 05.07.2004, 15:00:01
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Super... eins und drei werd ich nachher mal testen.

Zu zweitens:

Ich will nicht jedes Spiel einzeln erfassen, sondern pro Spieltag erfassen.

Ich rufe eine Spieltag auf und da stehen dann die Paarungen...

nun kann ich hinten die Ergebnisse erfassen und auswählen ob zB nach Verlängerung gewonnen wurde.

verständlicher?
Mit Zitat antworten
  #4  
Alt 05.07.2004, 15:02:43
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Noch was zu Frage 2:
Wenn ich das richtig verstanden habe, möchtest du alle Ergebnisse eines Spieltages in einem Formular eingeben. Versuch das mal so:

PHP-Code:
<?php
echo '<form method="POST" action="eintragen.php">';
//ERSTMAL ALLE SPIELE FÜR DIESEN SPIELTAG AUSWÄHLEN UND ANZEIGEN
$result=mysql_query("SELECT ID, HID, AID, ToreH, ToreA FROM spielplan WHERE Spieltag='$Spieltag'");
while(
$row=mysql_fetch_array($result)){
    echo 
'<input type="hidden" name="array" value="' $row['ID'] . '">n';
    echo 
$row['HID'] . " - "  $row['AID'];
    echo 
'<input type="text" name="heimtore[' $row['ID'] . ']">';
    echo 
'<input type="text" name="gasttore[' $row['ID'] . ']">';

    }
echo 
'</form>n';
?>
Jetzt die Verarbeitung der Ergebnisse:
PHP-Code:
<?php
foreach($POST as $var => $value){
    $
$var=strip_tags($value);
    }
foreach(
$array as $ID){
    
$ToreH=(int)$heimtore[$ID];
    
$ToreA=(int)$gasttore[$ID];
    
mysql_query("UPDATE spielplan SET ToreH='$TOREH'. ToreA='$ToreA' WHERE ID='$ID'");
    }
?>
Ich bin mir allerdings nicht sicher, ob man auch assoziative Arrays als Name eines Eingabefeldes nehmen kann. Musst du mal ausprobieren.


EDIT: Dann habe ich es ja wohl richtig verstanden ;-) Habe jetzt vergessen die optionale Auswahl der Verlängerung einzubauen. Das sollte aber für dich kein Problem darstellen.

Geändert von xabbuh (05.07.2004 um 17:31:53 Uhr)
Mit Zitat antworten
  #5  
Alt 05.07.2004, 20:17:39
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Zitat:
Original geschrieben von xabbuh
Zur 1. Frage:
Ist es nicht so, dass die Anzahl der Spieltage davon abhängig ist, wieviele Mannschaften in der Liga spielen? Du könntest also die Anzahl der Mannschaften ermitteln und dann daraus berechnen, wieviele Spieltage es geben muss und diese Zahl in der Variablen $anzahlSpiele speichern.
Dann ist die Ausgabe auch nicht mehr schwer:
PHP-Code:
echo '<form method="POST" action="seite.php">n'
echo '<select name="spieltag" size="1">n';
for(
$i=1$i<=$anzahlSpiele$i++){
    
'<option value="' $i '">' $i '. Spieltag</option>n'
    
}
echo 
'</select>n';
echo 
'</form>n'
Da zu hab ich eine Frage...
Ich hab nun anzahlSpiele=34
in meiner Auflistung geht es aber nur bis 32...
warum fehlt der 33. und der 34.?

Geändert von Soeren (05.07.2004 um 21:53:36 Uhr)
Mit Zitat antworten
  #6  
Alt 05.07.2004, 23:15:24
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Zitat:
Original geschrieben von xabbuh
Noch was zu Frage 2:
Jetzt die Verarbeitung der Ergebnisse:
PHP-Code:
<?php
foreach($POST as $var => $value){
    $
$var=strip_tags($value);
    }
foreach(
$array as $ID){
    
$ToreH=(int)$heimtore[$ID];
    
$ToreA=(int)$gasttore[$ID];
    
mysql_query("UPDATE spielplan SET ToreH='$TOREH'. ToreA='$ToreA' WHERE ID='$ID'");
    }
?>
Das hab ich auch so mal gemacht... leider bekomm ich nen Fehler:

Warning: Invalid argument supplied for foreach() in /www/htdocs/fth/admin/erg_save.php on line 22

Warning: Invalid argument supplied for foreach() in /www/htdocs/fth/admin/erg_save.php on line 25

desweiteren hab ich ein weiteres Argument (wg, der Verlängerung, etc)
wie bekomm ich das beim "eintrag.php" rein?
Mit Zitat antworten
  #7  
Alt 06.07.2004, 00:06:44
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von Soeren
Das hab ich auch so mal gemacht... leider bekomm ich nen Fehler:

Warning: Invalid argument supplied for foreach() in /www/htdocs/fth/admin/erg_save.php on line 22

Warning: Invalid argument supplied for foreach() in /www/htdocs/fth/admin/erg_save.php on line 25

desweiteren hab ich ein weiteres Argument (wg, der Verlängerung, etc)
wie bekomm ich das beim "eintrag.php" rein?
Sorry, kleiner Schreibfehler meinerseits. Richtig ist es so:
PHP-Code:
<?php
foreach($_POST as $var => $value){
    $
$var=strip_tags($value);
    }
foreach(
$array as $ID){
    
$ToreH=(int)$heimtore[$ID];
    
$ToreA=(int)$gasttore[$ID];
    
mysql_query("UPDATE spielplan SET ToreH='$TOREH'. ToreA='$ToreA' WHERE ID='$ID'");
    }
?>
Wg. der Verlängerung: Im Formular so etwas in der Art einbauen:
PHP-Code:
<select name="verlaengerung[<?php echo $row['ID']; ?>]" size="1">
<option value="X">keine Verlängerung</option>
<option value="V">Verlängerung</option>
<option value="P">Penalty Schießen</option>
</select>
Dann die Verarbeitung:
PHP-Code:
<?php
foreach($array as $ID){
    
$ToreH=(int)$heimtore[$ID];
    
$ToreA=(int)$gasttore[$ID];
    
mysql_query("UPDATE spielplan SET ToreH='$TOREH'. ToreA='$ToreA', verlaengerung='" $verlaengerung[$ID] . "' WHERE ID='$ID'");
    }
?>

Geändert von xabbuh (06.07.2004 um 00:11:07 Uhr)
Mit Zitat antworten
  #8  
Alt 06.07.2004, 00:11:59
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von Soeren
Da zu hab ich eine Frage...
Ich hab nun anzahlSpiele=34
in meiner Auflistung geht es aber nur bis 32...
warum fehlt der 33. und der 34.?
Bist du dir sicher, dass $anzahlSpiele=34 ist? Der Code sieht eigentlich richtig aus.
Mit Zitat antworten
  #9  
Alt 06.07.2004, 06:49:27
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Das mit den Spieltagen war mein Fehler...
Hab das vorher berechnen lassen durch eine Forumal und das war der Fehlerteufel am Werke.

Jetzt gibt es nur noch ein Problem und dann kommt die Kreutabelle ;)

Hab das jetzt wie folgt:
PHP-Code:
<?php
echo '<form method="POST" action="erg_save.php">';
//ERSTMAL ALLE SPIELE FÜR DIESEN SPIELTAG AUSWÄHLEN UND ANZEIGEN
$result=mysql_query("SELECT * FROM spiele WHERE spieltag='$st'");
while(
$row=mysql_fetch_array($result)){
    echo 
'<input type="hidden" name="array" value="' $row['ID'] . '">';
$resultH=mysql_query("SELECT * FROM teams Where ID='$row[HID]'");
 while(
$rowH=mysql_fetch_array($resultH)) {
    echo 
$rowH['name'];};
    echo 
" - ";
$resultA=mysql_query("SELECT * FROM teams Where ID='$row[AID]'");
 while(
$rowA=mysql_fetch_array($resultA)) {
    echo 
$rowA['name'];};
   echo 
'&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="heimtore[' $row['ID'] . ']" maxlength="2" size="3"> - ';
    echo 
'<input type="text" name="gasttore[' $row['ID'] . ']" maxlength="2" size="3">&nbsp;&nbsp;&nbsp;&nbsp;';
        echo 
'<select name="verlaengerung['.$row['ID'].'" size="1">
    <option value="" selected>nach regul&auml;rer Spielzeit</option>
    <option value="nV">nach Verl&auml;ngerung</option>
    <option value="nP">nach Penalty</option>
    </select><br>'
;
    }
echo 
'<hr><div align="center"><input type="submit" value="OK"></div></form>';
?>
Speichern:
PHP-Code:
<?php
foreach($array as $ID){
    
$ToreH=(int)$heimtore[$ID];
    
$ToreA=(int)$gasttore[$ID];
    
mysql_query("UPDATE spielplan SET ToreH='$TOREH'. ToreA='$ToreA', verlaengerung='" $verlaengerung[$ID] . "' WHERE ID='$ID'");
    }
?>
Warning: Invalid argument supplied for foreach() in /www/htdocs/fth/admin/erg_save.php on line 22

line 22=
PHP-Code:
foreach($array as $ID){ 

Geändert von Soeren (06.07.2004 um 06:55:58 Uhr)
Mit Zitat antworten
  #10  
Alt 06.07.2004, 08:29:07
Soeren Soeren ist offline
Anfänger
 
Registriert seit: Jun 2004
Ort: Bremen
Beiträge: 122
Wenn ich verstehen würde, was er übergibt... *grübel*
Dann könnte ich den Fehler beim eintragen/speichern vielleicht noch finden...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:38:22 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt