alles geht, bis zum bestimmten punkt

Status
Für weitere Antworten geschlossen.

Ryckmaster

Well-known member
Hey leute,

ich habe nen kleines problem.
Ich hole daten aus einer MySQL DB und will diese dann ausgeben über einer Tabelle.
Bis zum gewissen punkt, geht das ja auch, aber wenn es mehr als 6 Datensätze gibt, gibt er doch nicht mehr alles aus.
stattdessen:
Notice: Undefined offset: 6 in C:\xampp\htdocs\seite\anzeige.php on line 82
usw.

wotran liegt das denn nu schon wieder? :p

PHP:
<?php //nun werden die Daten aus den Datenbanken gelesen
function gib_daten(&$schulungsnummer,&$ErsterSchulungstag,&$Schulungsende,&$Beschreibung,&$Plaetze,&$OrtNR,&$Schulungsort)
{
$query="SELECT
			schulungsnummer,ErsterSchulungstag,Schulungsende,Beschreibung,Plaetze,OrtNR
		FROM 
			schulung;";
$ergebnis=mysql_query($query);
$i=0;
$schulungsnummer=array();
$ErsterSchulungstag=array();
$Schulungsende=array();
$Beschreibung=array();
$Plaetze=array();
while($zeile=mysql_fetch_array($ergebnis))
{
$schulungsnummer[$i]=$zeile['schulungsnummer'];
$ErsterSchulungstag[$i]=$zeile['ErsterSchulungstag'];
$Schulungsende[$i]=$zeile['Schulungsende'];
$Beschreibung[$i]=$zeile['Beschreibung'];
$Plaetze[$i]=$zeile['Plaetze'];
$i++;
}
$query="SELECT 
			OrtNR,Schulungsort
		FROM
			schulungsort;";
$ergebnis=mysql_query($query);
$ib=0;
$OrtNR=array();
$Schulungsort=array();
while($zeile=mysql_fetch_array($ergebnis))
{
$OrtNR[$ib]=$zeile['OrtNR'];
$Schulungsort[$ib]=$zeile['Schulungsort'];
$ib++;
}
}


//Hier werden die Zeilen gezählt und anschließend die Daten ausgegeben
function daten_zeigen($p_schulungsnummer,$p_Beschreibung,$p_ErsterSchulungstag,$p_Plaetze,$p_Schulungsende,$p_OrtNR,$p_Schulungsort)
{
$query="select Beschreibungsnummer, Name from beschreibungen;";
$ergebnis=mysql_query($query);
$ia=0;
$p_Beschreibungsnummer=array();
while($zeile=mysql_fetch_array($ergebnis))
{
$p_Beschreibungsnummer[$ia]=$zeile['Beschreibungsnummer'];
$p_Name[$ia]=$zeile['Name'];
$ia++;
}
for($i=0;$i<count($p_schulungsnummer);$i++)
{
	?>
<br>
<table>
<tr><td><b><div style="text-align:left">Beschreibung:</div></b></td> <td><div style="text-align:right"><?php echo $p_Name[$i]?></div></td></tr>
<tr><td><b><div style="text-align:left">Schulungsbeginn:</div></b></td> <td><div style="text-align:right"><?php echo $p_ErsterSchulungstag[$i]?></div></td></tr>
<tr><td><b><div style="text-align:left">Schulungsende:</div></b></td> <td><div style="text-align:right"><?php echo $p_Schulungsende[$i] ?></div></td></tr>
<tr><td><b><div style="text-align:left">Plätze:</div></b></td> <td><div style="text-align:right"><?php echo $p_Plaetze[$i] ?></div></td></tr>
<tr><td><b><div style="text-align:left">Schulungsort:</div></b></td> <td><div style="text-align:right"><?php echo $p_Schulungsort[$i]; ?></div></td></tr>
</table> 
<?php
}
}
 
Das weiß man vielleicht, wenn du uns Zeile 82 ansehen lassen würdest. Deins geht nur bis Zeile 67.

Bitte editeren.

Gruß
Broken Sword
 
zeile 82 ist diese hier...
PHP:
<tr><td><b><div style="text-align:left">Plätze:</div></b></td> <td><div style="text-align:right"><?php echo $p_Plaetze[$i] ?></div></td></tr>

es geht auch nicht in zeile 79. gleiche fehlermeldung.
PHP:
<tr><td><b><div style="text-align:left">Beschreibung:</div></b></td> <td><div style="text-align:right"><?php echo $p_Name[$i];?></div></td></tr>
was ich zum anfang gepostet habe war nicht der komplette script.
bissen was fählt, aber nichts wichtiges kommentare, die verbindung usw.
es geht immer um die ausgabe... :D

lg
-edit-

okay, irgendwie muss ich mich total verguckt haben.
die werte stimmen eh nicht überein.
er zählt fast alles weiter, und irgenwann hat er weiter gezählt als daten da sind, deshalb diese fehlermeldung denke ich..
 
Versteh gar nicht, warum du
Code:
for($i=0;$i<count($p_schulungsnummer);$i++)
benutzt.
Ist doch klar, dass es dann vorkommen kann, dass Indizes von $p_Beschreibungsnummer nicht gefunden werden.
Mach's einfach mal mit
Code:
for($i=0;$i<count($p_Beschreibungsnummer);$i++)

Gruß
Broken Sword
 
der fehler ist weg, aber das wahre ist es nun auch nicht.
wenn er die beschreibungsnummer gezählt hat, hört ja ja logischer weiße auf.
obwohl noch mehr daten geschreiben werden sollten.
gibt es ne möglichkeit zwie for-schleifen miteinander zu verknüpfen..
dachte da an && aber das scheint nicht zu klappen...
 
Warum sollen mehr Daten ausgegeben werden als zur Verfügung stehen?
Das ist doch unlogisch.

Gruß
Broken Sword
 
Also ich habe eine DB in der die Schulungen stehen, eine mit den Beschreibungen, und eine mit den Schulungsorten.
er muss (meiner meinung nach) die Schulungen zählen, da er die ausgeben soll.
und dann die dazugehörigen Beschreibungen und Schulungsorte aus den anderen DB's holen.

lg



hmm,

da lassen mich meine englischkenntnisse im stich.

gibts das nicht in deutsch..

lg
 
Hä? Ich kann dir nicht folgen.
Du nimmst alle Werte aus einer Datenbank a, dann nimmst du Werte aus zwei weiteren Datenbanken und willst die a zuordnen? Wie willst du das denn machen? Meinst du ein PC denkt wie du und macht das, wie du es willst? So funktioniert das nicht. Der braucht klare Anweisungen.

Wie schon in einen anderen Thread gesagt, kucke dir den SQL-Ausdruck (LEFT) JOIN an (oder wenigstens MySQL :: MySQL 5.0 Reference Manual :: 7.2.4 WHERE Clause Optimization )

Gruß
Broken Sword

Oh man - drei Klicks, obwohl ich es nie deutsch lese :(
MySQL :: MySQL 5.1 Referenzhandbuch :: 7.2.4 Optimierungen der WHERE-Klausel

Gruß
Broken Sword
 
danke dir du genervtes etwas ;)

übrigens hieß die antwort auf meine frage nicht (left)join sonder eine andere SQl-Abfrage...



lg und trozdem danke
 
Status
Für weitere Antworten geschlossen.

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten