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 ::

Webseiten professionell erstellen

Webseiten professionell erstellen 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 > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.10.2014, 15:02:29
Hiesi Hiesi ist offline
Anfänger
 
Registriert seit: Oct 2014
Alter: 57
Beiträge: 3
Drei Spalten einer Tabelle mit einer anderen verküpfen

Hallo,
ich bin Anfänger in php und mysql.
Ich sitze gerade an dem Problem, dass ich in der Datenbank drei Felder mit einer anderen Tabelle der Datenbank verknüpfen will.

Hintergrund ist, dass Schüler einer Schule sich in Projekte einwählen sollen. Das funktioniert soweit ganz gut, wenn es nur um eine Wahl geht. Schüler dürfen aber priorisiert 3 Projekte wählen.

Um ein von den Schülern gewählte Projekte anzuzeigen benutze ich

$schueler_abfrage = "Select * FROM schueler
LEFT JOIN projekt ON schueler.wahl1_idprojekt=projekt.idprojekt
ORDER BY klasse, name, vorname";
$schueler_ergebnis = mysql_query($schueler_abfrage);

Dann kann ich mir mit

while ($schueler = mysql_fetch_array($schueler_ergebnis))
{
echo "<tr>";
echo "<td>". $schueler['name'] . "</td>";
echo "<td>". $schueler['vorname'] . "</td>";
echo "<td>". $schueler['klasse'] . "</td>";
echo "<td>". $schueler['projektbez'] . "</td>";
echo "<td>". $schueler['projektleiter'] . "</td>";
echo "</tr>";

eine Liste aller Erstwahlen anzeigen lassen. In der Tabelle schueler gibt es aber auch noch wahl2_idprojekt und wahl3_idprojekt.

Ich bekomme es einfach nicht hin, dass alle drei Wahlen in dieser einen Tabelle zu sehen sind.

Vielleicht kann mir hier jemand helfen?

Vielen Dank,
Hiesi
Mit Zitat antworten
  #2  
Alt 03.10.2014, 15:06:23
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: Drei Spalten einer Tabelle mit einer anderen verküpfen

Zitat:
Zitat von Hiesi Beitrag anzeigen
n in dieser einen Tabelle zu sehen sind.

Vielleicht kann mir hier jemand helfen?

Vielen Dank,
Hiesi
Ich schenke Dir noch 2 mal JOIN. Das baust in Deine Abfrage mit ein. Benutze Aliase, Du wirst sie brauchen.
Mit Zitat antworten
  #3  
Alt 03.10.2014, 16:48:43
Hiesi Hiesi ist offline
Anfänger
 
Registriert seit: Oct 2014
Alter: 57
Beiträge: 3
AW: Drei Spalten einer Tabelle mit einer anderen verküpfen

Zitat:
Zitat von pguser Beitrag anzeigen
Ich schenke Dir noch 2 mal JOIN. Das baust in Deine Abfrage mit ein. Benutze Aliase, Du wirst sie brauchen.
Danke schonmal, wie gesagt, bin Anfänger :)

Ist das so richtig?

$schueler_abfrage = "Select * FROM schueler
LEFT JOIN projekt AS p1 ON schueler.wahl1_idprojekt=p1.idprojekt
LEFT JOIN projekt AS p2 ON schueler.wahl2_idprojekt=p2.idprojekt
LEFT JOIN projekt AS p3 ON schueler.wahl3_idprojekt=p3.idprojekt
ORDER BY klasse, name, vorname";
$schueler_ergebnis = mysql_query($schueler_abfrage);
echo "<table border='2'>";
echo "<td><b>Name</b></td> <td><b>Vorname</b></td> <td><b>Klasse</b></td>
<td><b>Projekt</b></td> <td><b>Projektleiter</b></td>";
while ($schueler = mysql_fetch_array($schueler_ergebnis))
{
echo "<tr>";
echo "<td>". $schueler['name'] . "</td>";
echo "<td>". $schueler['vorname'] . "</td>";
echo "<td>". $schueler['klasse'] . "</td>";
echo "<td>". $schueler['projektbez'] . "</td>";
echo "<td>". $schueler['projektleiter'] . "</td>";
echo "</tr>";
}
echo "</table>";

Aber wie lasse ich in der Ausgabe alle drei Projekte anzeigen? Also wie greife ich auf die jeweils drei Stück zu?
Mit Zitat antworten
  #4  
Alt 03.10.2014, 17:11:44
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: Drei Spalten einer Tabelle mit einer anderen verküpfen

Zitat:
Zitat von Hiesi Beitrag anzeigen
Danke schonmal, wie gesagt, bin Anfänger :)

Ist das so richtig?

Aber wie lasse ich in der Ausgabe alle drei Projekte anzeigen? Also wie greife ich auf die jeweils drei Stück zu?
Sieht gut aus. Nun noch statt * z.B. p1.name as name1, p2.name as name2 ... und schon kannst gediegen drauf zugreifen.

Merke: nie select * verwenden!
Mit Zitat antworten
  #5  
Alt 04.10.2014, 07:15:20
Hiesi Hiesi ist offline
Anfänger
 
Registriert seit: Oct 2014
Alter: 57
Beiträge: 3
AW: Drei Spalten einer Tabelle mit einer anderen verküpfen

Zitat:
Zitat von pguser Beitrag anzeigen
Sieht gut aus. Nun noch statt * z.B. p1.name as name1, p2.name as name2 ... und schon kannst gediegen drauf zugreifen.

Merke: nie select * verwenden!
Großartig, so hat es jetzt geklappt:

$schueler_abfrage = "Select schueler.name,schueler.vorname,schueler.klasse,
p1.projektbez AS pbez1,
p2.projektbez AS pbez2,
p3.projektbez AS pbez3,
p1.projektleiter AS pl1,
p2.projektleiter AS pl2,
p3.projektleiter AS pl3 FROM schueler
LEFT JOIN projekt AS p1 ON schueler.wahl1_idprojekt=p1.idprojekt
LEFT JOIN projekt AS p2 ON schueler.wahl2_idprojekt=p2.idprojekt
LEFT JOIN projekt AS p3 ON schueler.wahl3_idprojekt=p3.idprojekt
ORDER BY klasse, name, vorname";
$schueler_ergebnis = mysql_query($schueler_abfrage);
echo "<table border='2'>";
echo "<td><b>Name</b></td> <td><b>Vorname</b></td> <td><b>Klasse</b></td>
<td><b>Erstwahl</b></td> <td><b>Projektleiter</b></td>
<td><b>Zweitwahl</b></td> <td><b>Projektleiter</b></td>
<td><b>Drittwahl</b></td> <td><b>Projektleiter</b></td>";
while ($schueler = mysql_fetch_array($schueler_ergebnis))
{
echo "<tr>";
echo "<td>". $schueler['name'] . "</td>";
echo "<td>". $schueler['vorname'] . "</td>";
echo "<td>". $schueler['klasse'] . "</td>";
echo "<td>". $schueler['pbez1'] . "</td>";
echo "<td>". $schueler['pl1'] . "</td>";
echo "<td>". $schueler['pbez2'] . "</td>";
echo "<td>". $schueler['pl2'] . "</td>";
echo "<td>". $schueler['pbez3'] . "</td>";
echo "<td>". $schueler['pl3'] . "</td>";
echo "</tr>";
}
echo "</table>";

Vielen vielen Dank,
Foren und ihre freundlichen User sind schon was tolles ;)

Hiesi
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Temporäre Tabelle - Spalten löschen ab Spalte 11 Parador MySQLi/PDO/(MySQL) 1 20.03.2010 21:03:40
Eine Tabelle mit Inhalten aus drei anderen Tabellen füllen jirweb MySQLi/PDO/(MySQL) 7 27.01.2008 18:07:03
Altualisieren einer Spalte anhand einer Spalte in einer anderen Tabelle thefifa MySQLi/PDO/(MySQL) 0 25.07.2007 18:34:41
Abfrageproblem - 2 Spalten mit einer Tabelle verknüpfen grone MySQLi/PDO/(MySQL) 2 09.11.2006 20:14:37
Eine Tabelle 3 Spalten ohne primary key Franzx MySQLi/PDO/(MySQL) 1 30.05.2006 21:55:37


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


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


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