PHP+MySQL eintragen

BomberJack

Erfahrenes Mitglied
Hi all,
hätte da mal eine frage und zwar möchte ich ein bischen was automatisieren mit php und MySQL

Also als erstes möchte ich die Daten in eine MySQL Datenbank eingeben das klappt auch schon (siehe code)
Code:
<form action="http://www.meinedomain.de/bla/spieler2.php3">
<table align="center" border="0" cellpadding="3" cellspacing="3" width="100%" bordercolor="#000066" width="588">
                        <tr>
                        <td>Spieler 1</td>
                        <td><input type="text" name="Spieler1" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td>Spieler 2</td>
                        <td><input type="text" name="Spieler2" size="24"></td>
                                <td></td>
                        </tr>
                                                <tr>
                        <td>Spieler 3</td>
                        <td><input type="text" name="Spieler3" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td>Spieler 4</td>
                        <td><input type="text" name="Spieler4" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td><input type="submit" name="submitButtonName" value="Anmledung senden"> </td>
                        <td><input type="reset" value="Felder l&ouml;schen"></td>
                                <td></td>

---------------------------------------------------------------------------------------------------------------------------------
<?
$sqlhost="?";
$username="?";
$passwort="?";
$database="?";


$db = mysql_connect ($sqlhost,$username,$passwort);
mysql_select_db ($database);
$sql="INSERT INTO Spieler (Gruppe1, Gruppe2, Gruppe3, Gruppe4) VALUES (\"$Spieler1\", \"$Spieler2\", \"$Spieler3\", \"$Spieler4\")";
$result = mysql_query($sql,$db);
header("Location: http://www.domain.de");
?>

So nun tritt folgendes problem auf zwar wird wird alles in die tabelle geschrieben aber ich weiß nicht richtig wie ich es für meinen zweck auslesen soll

Es soll wie folgt funktionieren:
Ich gebe die daten ein dann möchte ich sie auf schon einer bestehenden website einfach auslesen mit z.B $Spieler1
Das ganze handelt sich um ein turniersystem und soll mir nur die arbeit erleichtern
d.h. ich will z.b. Gruppe1 vier spieler eintragen und dann auf einer website ausgeben danach soll gleich gruppe2 folgen und wiegesagt die html seite ist schon fertig. Wenn es also möglich wäre das mit $spieler1 einfach ins entsprechende feld wiederzugeben dann hätte ich evtl. nicht soviel arbeit was mir seher entgegenkommen würde.
Ich danke mal ich müßte da evtl. mit verschiedenen "ID's" arbeiten aber ich hab leider ka wie ich die fortlaufend in die MySQL db eintragen und wieder auslesen kann
wäre super wenn mir da wer einen tipp oder lösung geben könnte


Gruß
BomberJack
 
was die IDs angeht: Es gibt einen mysql-Befehl der genau das "automatische Hochzählen" in einer Spalte bewirkt. Das gesamte MySQL für eine Spalte die IDs auto-hochzählt und nicht null wird, währe folglich dieser hier:

ID int not null auto_increment primary key
 
Wenn ich die Frage richtig verstanden hab, übergib doch die $Spieler Variablen im Header gleich mit ...

PHP:
header("Location: f00.php?spieler1=".$Spieler1"&spieler2=".$Spieler2 etc ...);
 
mir gehts mehr ums auslesen d.h. das ich in die schon vorhande html seite einfach php intigriere und nur noch die Variablen einsetztn muß

bsp:

Gruppe1
Spieler 1 vs spieler2
Spieler 2 vs spieler3

Gruppe2
Spieler 1 vs spieler2
Spieler 2 vs spieler3

MySQL DB

Gruppe 1 Gruppe 2 usw.
Spieler1 Spieler1
Spieler2 Spieler2
Spieler3 Spieler3
Spieler4 Spieler4


So oder so ähnlich stell ich mir das dann vor
Das ich dann beim auslesen z.b Gruppe1 Spieler1 leicht rauskriege aber ich denke mal das müßte mit irgendwelchen id's laufen das dan auf der page das wie folgt aussieht

Gruppe1
Spieler1
Spieler2 usw.

Ich hätte halt gerne die variablen "Spieler" die ich überall einsetzten kann wo ich es brauche


hoffe mal das es jetzt bissel klarer ist


Gruß
Jack
 
Ah, ich glaube jetzt weiß ich was du willst.
Du hast x Spieler und möchtest sie jeweils der Gruppe zuordnen, in die sie gehören.
Also sagen wir die Gruppe Bayern München, der ordnest du dann Kahn, Pizarro und Deisler zu, der Gruppe Stuttgart Hildebrandt etc. etc.
Habe ich das jetzt richtig verstanden?

Dafür würde ich zwei Tabellen machen und diese dann miteinander verbinden.
Du erstellst also eine Mysql-Tabelle "Gruppen"

create table "groups" (
ID int not null auto_increment primary key,
group varchar(50)
);

Dann erstellst du noch eine Mitgliedertabelle, in der du dann auf die jeweilige Gruppe verweist (per GID):

create table "players" (
ID int not null auto_increment primary key,
player varchar(80),
GID int not null
);

Kurz zur Anwendung: Sagen wir Bayern hat in der Tabelle groups die ID 1 und Stuttgart die ID 2, dann würden Kahn, Pizarro und Deisler mit GID = 1 in der Tabelle players stehen und Timo Hildebrandt wäre mit GID = 2 vertreten.

Um es jetzt auszugeben, holst du immer die Gruppen raus, und während du den Array in einer While-Schleife verarbeitest, holst du die Spieler aus der DB und verarbeitest sie in einer 2. While-Schleife:





PHP:
$query = mysql_query("select * from groups");
while($row = mysql_fetch_array($query)) {
$ID = $row['ID'];
$group_name = $row['group']; 
$get_players = mysql_query("select player from groups where GID ='$ID'");
while($row_players = mysql_fetch_array($get_players)) {
$player = $row_players['player'];
}
}

In deinem html gibst du die jeweiligen variablen dann so aus:
HTML:
<?=$player?>
 
Naja fast es soll halt für mich nur eine eingabehilfe sein d.h. ich lose jetzt daheim die spieler aus sagen wir gruppe 1. Die sollen schlußendlich auch alle in Gruppe 1 auftauchen ohne das ich für jede gruppe ne neue MySQL tabelle brauche und am besten auch nicht alles komplett umcoden muß.

Hätte das halt gerne so das ich sage

ID Spieler1 Spieler2 Spieler3 Spieler4
1 bla1 bla2 bla3 bla3

Dann das ganze automatisch auslesen mit

Gruppe1
bla1
bla2
bla3
bal4

Oder was ich mir auch gut vorstellen könnte wäre folgende art:
ID Gruppe1 Gruppe2 Gruppe3 Gruppe4 Gruppe5 usw.
1 Spieler1 Spieler1 Spieler1 Spieler1 Spieler1
2 Spieler2 Spieler2 Spieler2 Spieler2 Spieler2

Das ich das ganze dann irgendwie in der richtung ausgeben kann (orginal code bis jetzt):

Code:
 <table border="0" cellpadding="0" cellspacing="5" width="100%">
                                                <caption>Gruppe 1</caption>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler1</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler2</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler3</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
					<tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler4</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
				</table>


Wiegesagt ich weiß bloß nicht wie ich die "IDS" hochzählen lassen kann d.h. das nach eins zwei kommt usw. und wie ich das am praktischten ausgebe bzw. eben aus der DB auswähle :-(
 
Nein, du brauchst nicht für jede Gruppe eine neue MySQL-Tabelle erstellen. Alles was ich dir hier vorgeschlagen habe ist ein simpler Join, d.h. "Entitäten" zu trennen und somit eine Lösung für dein Problem zu finden.
Alles in einer Tabelle ist ziemlich schlecht und deshalb ist es sinnvoll dafür zwei Tabellen zu nützen.
Wenn du den mysql-Befehl benützt, den ich dir weiter oben angegeben habe um eine Spalte ID anzulegen, dann zählt die ID bereits automatisch (auto_increment zu deutsch: automatische Inkrementierung, d.h. n = n+1; ) hoch, dafür hast du bereits die Antwort und für das andere auch.

Du kannst dein Formular nun aus zwei Teilen gestalten, d.h. zuerst lässt du dir die Gruppen in einem select ausgeben:

PHP:
<form action="meineSeite.php" method="post">
<select name="meineGruppe">
<?php
$query = mysql_query("select * from groups");
while($row = mysql_fetch_array($query)) {
$ID = $row['ID'];
$group_name = $row['group'];
echo "<option value=\"".$ID."\">$group_name</option>";
}
?>
</select>
<input type="submit" name="meinName" value="Auswaehlen">
</form>

Dieses Script lädt dir immer alle Gruppen, die in der Datenbank drinnen sind (um neue Gruppen hinzuzufügen machst du einfach ein einfaches insert-script).
Nun wählst du per select die Gruppe aus, die du haben möchtest und übergibst diese Variable ja im Name "MeineGruppe".
Sagen wir also du hast eine Gruppe mit der ID 1 und dem Namen Gruppe eins. Dann wird nach dem das Select ausgewählt wurde, die Variable meineGruppe mit 1 belegt.
Nun musst du noch über dein Formular von oben die Spieler eintragen und aus der Variablen $meineGruppe holst du dir dann immer den Wert für die Spalte GID.

Das insert sieht dann also so aus:
PHP:
$insert = mysql_query("insert into players set player = '$player_name', GID = '$meineGruppe'");

Ausgeben kannst du es dann mit dem Script, das ich schon geschrieben habe.
Aber vielleicht schaust du dir selbst nocheinmal die Grundlagen von php an.
 
Hi

aulesen aus mysql mit mehreren einträgen:
PHP:
$result=mysql_query("SELECT * FROM tabelle WHERE gruppe='1'");
for($i=0;$i<10000 && $row=mysql_fetch_array($result);$i++){
echo "$row[spaltenname1] $row[spaltenname2] ...<br>";
}
OK ?

PS da wo gruppe steht kommt natürlich der Spaltenname rein!
Meinetwegen WHERE gruppe='a'
oder wie auch immer wo deine Gruppen markiert sind. Mal angenommen deine Tabelle heisst gruppen und die spalte typ

$result=mysql_query("SELECT * FROM gruppen WHERE typ='1'");
 
Zuletzt bearbeitet von einem Moderator:
Hmm ich glaube ich kapiers immernoch nicht

Ich stell mir die MySQL DB halt wie eine Exel tabelle vor

ID Gruppe 1 Gruppe 2 Gruppe 3
1 Spieler1 Spieler2 Spieler3
2 Spieler1 Spieler2 Spieler3

Also mir fehlt bei der eintragung noch das automatische ID hochzählen
hier nochmal das eintragungs skript:
Code:
<DIV ALIGN="CENTER" height:100% width:720px;>
<form action="http://www.domain.de/spieler.php3">
<table align="center" border="0" cellpadding="3" cellspacing="3" width="100%" bordercolor="#000066" width="588">
                        <tr>
                        <td>Spieler 1</td>
                        <td><input type="text" name="Spieler1" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td>Spieler 2</td>
                        <td><input type="text" name="Spieler2" size="24"></td>
                                <td></td>
                        </tr>
                                                <tr>
                        <td>Spieler 3</td>
                        <td><input type="text" name="Spieler3" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td>Spieler 4</td>
                        <td><input type="text" name="Spieler4" size="24"></td>
                                <td></td>
                        </tr>
                        <tr>
                        <td><input type="submit" name="submitButtonName" value="Anmledung senden"> </td>
                        <td><input type="reset" value="Felder l&ouml;schen"></td>
                                <td></td>
                        </tr>


                </table>
-----------------------------------------------------------------------------------------------------------------------------
PHP:
$db = mysql_connect ($sqlhost,$username,$passwort);
mysql_select_db ($database);
$sql="INSERT INTO Spieler (Gruppe1, Gruppe2, Gruppe3, Gruppe4) VALUES (\"$Spieler1\", \"$Spieler2\", \"$Spieler3\", \"$Spieler4\")";
$result = mysql_query($sql,$db);
header("Location: http://www.domain.de");
?>


Hier mal die ausgabe aber noch ohne php und mysql zugriff...
Code:
<DIV ALIGN="CENTER" height:100% width:720px;>
                <table align="center" border="3" cellpadding="3" cellspacing="3" bordercolor="#000066" width="456">
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="5" width="100%">
                                                <caption>Gruppe 1</caption>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler1</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler2</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler3</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
					<tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler4</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
				</table>
                                </td>
                                <td>
                                        <div align="center">
                                                <table border="0" cellpadding="0" cellspacing="5" width="100%">
                                                        <caption>Gruppe 2</caption>
                                                        <tr>
                                                                <td bgcolor="#00aa00"><b><font color="#000011">-Spieler1</font></b></td>
                                                                <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#00aa00"><b><font color="#000011">-Spieler2</font></b></td>
                                                                <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#00aa00"><b><font color="#000011">-Spieler3</font></b></td>
                                                                <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#00aa00"><b><font color="#000011">-Spieler4</font></b></td>
                                                                <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                        </tr>
                                                </table>
                                        </div>
                                </td>
                        </tr>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="5" width="100%">
                                                <caption>Gruppe 3</caption>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler1</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler2</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler3</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                                <tr>
                                                        <td bgcolor="#00aa00"><b><font color="#000011">-Spieler4</font></b></td>
                                                        <td bgcolor="#00aa00" width="12%"><font color="#f00000"><b>+0</b></font></td>
                                                </tr>
                                        </table>
                                </td>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="5" width="100%">

                </table>
                </DIV>



Ich hoffe mal das man sich das jetzt evtl. bissel vorstellen kann ich würde halt gerne mit einem skript die DB voll schreiben damit ich es nicht manuell eintragen muß und auf der anderen seite würde ich das ganze dann am besten so aufrufen <? $Spieler1 ?> wobei er da erstmal wissen muß welche gruppe das überhaupt ist usw.


Gruß
BomberJack
 
Also die eingabe mit dem ID hochzählen hab ich jetzt hinbekommen jetzt fehlt mir nur noch das auslesen:

weil eigentlich hab ich dann nur 4 ID's

Es ist jetzt folgendermasen in der DB

ID Gruppe1 Gruppe2 Gruppe3 usw.
1 test1 test2 test3
2 test4 test5 test6
Wie kann ich das jetzt am dümsten wieder ausgeben das die php seite dann weiß in Gruppe 1 = test1 test4 usw.
 
Zurück