Mysql doppelte Einräge --> Problem
-
Hi,
ich habe eine Tabelle mit 2 Feldern : Punkt1, Punkt2In Punkt1 steht z.B. (ist aber variabel):
Fussball
Basketball
Fussball
Handball
FussballIn Punkt2 steht:
Peter
Tobi
Jens
Michi
SchorschEs soll folgendes Ausgegeben werden:
Fussball: Peter Jens Schorsch
Handball: Michi
Basketball: TobiWenn ich es aber Query kommt das:
Fussball: Peter
Basketball: Tobi
Fussball: Jens
Handball: Michi
Fussball: SchorschPunkt1 soll also nur 1 mal ausgegeben werden, aber der wert der bei der id von Punkt1 soll auch ausgegeben werden!!
Vielen Dank im vorauss!
-
Ich würde es in zwei Tabelle Splitten.
Tabelle 1:
Feld1 Feld2 (index) (sportart) 1 Fußball 2 Handball 3 Basketball
Tabelle 2:
Feld1 Feld2 Feld3 (index) (name) (sportart) 1 Peter 1 2 Tobi 3 3 Jens 1 4 Michi 2 5 Schorsch 1
In der Tabelle 2 ist das Feld3 (Sportart), da kommt dann das index von der Tabelle 1 rein..
Und das ganze abfragenm halt..
-
Vielen Dank für deine Antwort.
Nur wie bekomme ich die ID von Sportart in die Tabelle mit den Namen? Hast du vielleicht ein Beispiel für mich.
-
Hi.
Hier ein Beispiel Code:
eintragen.php:<?php mysql_connect("localhost","smu","coolmann") or die("Keine Verbindung moeglich"); mysql_select_db("test") or die ("Die Datenbank existiert nicht"); ?> <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html> <head> <title>Spieler Eintragen</title> </head> <body> <form action="in_db.php" method="POST"> Spielername: <input type="text" name="spieler"><br> <br> <?php $resource = mysql_query("SELECT `index`,`sportart`,`checkbox_name` FROM `sport`"); while($result = mysql_fetch_object($resource)) { ?> <input type="checkbox" name="<?php echo $result->checkbox_name; ?>" value="<?php echo $result->index; ?>"> <?php echo $result->sportart; ?><br> <?php } ?> <br> <input type="submit"><input type="reset"> </form> </body> </html>
in_db.php:
<?php mysql_connect("localhost","smu","coolmann") or die("Keine Verbindung moeglich"); mysql_select_db("test") or die ("Die Datenbank existiert nicht"); $resource = mysql_query("SELECT `index`,`sportart`,`checkbox_name` FROM `sport`"); while($result = mysql_fetch_object($resource)) { echo "Spielt ".$spieler." ".$result->sportart.": "; $checkbox = $result->checkbox_name; $checkbox = $$checkbox; if($checkbox != NULL) { echo "Ja"; mysql_query("INSERT INTO `spieler` (`name`,`sportart_id`) VALUES ('".$spieler."','".$checkbox."')"); } echo "<br>"; } ?>
anzeigen.php:
<?php mysql_connect("localhost","smu","coolmann") or die("Keine Verbindung moeglich"); mysql_select_db("test") or die ("Die Datenbank existiert nicht"); $resource = mysql_query("SELECT `index`,`sportart` FROM `sport`"); while($result = mysql_fetch_object($resource)) { echo "Sportart: ".$result->sportart; $resource_spieler = mysql_query("SELECT `name` FROM `spieler` WHERE `sportart_id` = '".$result->index."'"); while($result_spieler = mysql_Fetch_object($resource_spieler)) { echo " ".$result_spieler->name; } echo "<br>"; } ?>
hier das SQL-File für mySQL (Bitte benutzte phpmyadmin dazu):
# phpMyAdmin MySQL-Dump # version 2.3.0 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # Host: localhost # Erstellungszeit: 04. Dezember 2002 um 10:33 # Server Version: 3.23.49 # PHP-Version: 4.2.3 # Datenbank: `test` # -------------------------------------------------------- # # Tabellenstruktur für Tabelle `spieler` # DROP TABLE IF EXISTS `spieler`; CREATE TABLE `spieler` ( `index` bigint(20) NOT NULL auto_increment, `name` varchar(150) NOT NULL default '', `sportart_id` bigint(20) NOT NULL default '0', PRIMARY KEY (`index`) ) TYPE=MyISAM; # # Daten für Tabelle `spieler` # INSERT INTO `spieler` (`index`, `name`, `sportart_id`) VALUES (1, 'Daniel', 1), (2, 'Daniel', 2), (3, 'Peter', 1), (4, 'Peter', 3), (5, 'Müller', 2), (6, 'Müller', 3); # -------------------------------------------------------- # # Tabellenstruktur für Tabelle `sport` # DROP TABLE IF EXISTS `sport`; CREATE TABLE `sport` ( `index` bigint(20) NOT NULL auto_increment, `sportart` varchar(100) NOT NULL default '', `checkbox_name` varchar(30) NOT NULL default '', PRIMARY KEY (`index`) ) TYPE=MyISAM; # # Daten für Tabelle `sport` # INSERT INTO `sport` (`index`, `sportart`, `checkbox_name`) VALUES (1, 'Fußball', 'fussball'), (2, 'Handball', 'handball'), (3, 'Basketball', 'basketball');
Dies ist ein Beispiel-Code...
Bei mein Beispiel bräuchtest du 3 Tabellen.
Aber wie du das dann machst denke ich mir, das du das dann weißt wie, falls fragen da soind, frag nach..Gruß DJ BlackEagle