[PHP/MySQL] datensätze werden nicht ausgelesen

zerberos

Well-known member
ID: 58651
L
30 Mai 2006
75
0
Hallo,

ich habe ein Problem.

Ich hab hier eine Seite, auf der Datensätze aus einer Tabelle ausgelesen werden. Das meiste hab ich mir von einer Siete genommen die ich vorher schon erstellt hatte. Auf der zeigt der die auch einwandfrei an. Ich weiß nicht was falsch ist

PHP:
<?
//error_reporting(E_ALL);
session_start();
include 'sessionhelpers.inc.php';
include 'connect.php';

// Prüfung ob man eingeloggt ist
if (!logged_in())
    {
    	echo 'nicht eingeloggt ';
    }
else
	{
		// Abfrage des Datensatzes
		$result = mysql_query("SELECT `id`, `betrieb`, `funktion`, `kstelle`, `nachname`, `vorname`, `schule`, `azeit`, `stunden`, `fschein` FROM `mitarbeiter` ORDER BY id");
		$result2 = mysql_query("SELECT DISTINCT `betrieb` FROM `mitarbeiter`");
		$result3 = mysql_query("SELECT DISTINCT $_POST[select5] FROM `mitarbeiter`");
				
		
		if (isset($_POST['submit']))
			{
			    $_SESSION['pdfvar'] = "SELECT `id`, `betrieb`, `funktion`, `kstelle`, `nachname`, `vorname`, `schule`, `azeit`, `stunden`, `fschein` FROM `mitarbeiter` WHERE `betrieb`='".$_POST[select1]."' ORDER BY '".$_POST[select2]."'";
				$result = mysql_query("SELECT `id`, `betrieb`, `funktion`, `kstelle`, `nachname`, `vorname`, `schule`, `azeit`, `stunden`, `fschein` FROM `mitarbeiter` WHERE `betrieb`='".$_POST[select1]."' ORDER BY '".$_POST[select2]."'");	
			}		
?>
			<div align="center">
 			<table border="1" cellspacing="0" cellpadding="0">
 				<tr>
 					<form name="form1" method="post" action="mitarbeiter-betrieb2.php">
					 Betrieb:
					<select name="select1">
					<?
					while($row=mysql_fetch_row($result2)){
					echo "<option value=".$row[0].">".$row[0]."</option>";
					}
					?>
					 </select>
					<select name="select3">
					<?
					while($row=mysql_fetch_row($result3)){
					echo "<option value=".$row[0].">".$row[0]."</option>";
					}
					?>
					 </select>
  						Sortieren nach: 
						<select name="select2">
  							<option value="id">id</option>
  							<option value="funktion">Funktion</option>
							<option value="kstelle">Kostenstelle</option>
							<option value="nachname">Nachname</option>
							<option value="vorname">Vorname</option>
							<option value="stunden">Arbeitsstunden</option>
							<option value="fschein">Führerschein</option>
  						</select>
						<input type="submit" name="submit" value="Go">
					</form>
				<a href="druckansicht.php" target="_blank"><img src="bilder/drucker.JPG" width="28" height="31" border="0"></a>
				<a href="pdf-maker.php?name=Betrieb"><img src="bilder/pdfsymbol.jpg" width="28" height="31" border="0"></a>
				<a href="m-auswahl.php"><u>Erweitert</u></a>
				<br><br>
			</tr>
  				<tr bgcolor="#999999">
    				<td>ID</td>
    				<td>Betrieb</td>
    				<td>Funktion</td>
    				<td>Kostenstelle</td>
    				<td>Nachname</td>
  					<td>Vorname</td>
    				<td>Schule</td>
    				<td>Arbeitszeit</td>
   					<td>Stunden</td>
    				<td>Führerschein</td>
  				</tr>
<?		
		while($row = mysql_fetch_array($result))
			{
				echo  "<tr bgcolor='#CCCCCC'>"; 
				echo    "<td> ".$row['id']."</td>";
				echo    "<td> ".$row['betrieb']."</td>";
				echo    "<td> ".$row['funktion']."</td>";
				echo    "<td> ".$row['kstelle']."</td>";
				echo    "<td> ".$row['nachname']."</td>";
				echo    "<td> ".$row['vorname']."</td>";
				echo    "<td> ".$row['schule']."</td>";
				echo    "<td> ".$row['azeit']."</td>";
				echo    "<td> ".$row['stunden']."</td>";
				echo    "<td> ".$row['fschein']."</td>";
				echo   "</tr>";
			}
			
			echo "</table>";
			echo "</div>";
}

?>
 
Du baust keine Verbindung zum MySQL Server auf. Ich sehe zumindest kein mysql_connect(). (connect.php funzt?)
Dann kanns noch am Datenfluss liegen.

Ausser dem ist das Script anfällig für Injections. Am besten wie mit einem Virus damit verfahren und löschen.
 
Zuletzt bearbeitet:
tleilax schrieb:
Ist $_POST['select5'] immer gesetzt?


ja ist gesetzt.

also ich hab den fehler schon etwas eindämmen können. Es lieg anscheinend an zeile 23. wenn ich die auskommentiere dann führt der die abfrage in zeile 15 aus
 
zerberos schrieb:
also ich hab den fehler schon etwas eindämmen können. Es lieg anscheinend an zeile 23. wenn ich die auskommentiere dann führt der die abfrage in zeile 15 aus
Die Abfrage in Zeile 15 führt er immer aus.
Er zeigt die Ergebnisse aber nur, wenn das if in Zeile 23 true is.

Ich vermute, dass $_POST['submit'] nicht gesetzt ist. Du wirst nur den PHP-Code kopiert haben und am HTML-Code rumgeändert haben und das vergessen haben.
Zum Überprüfen:
PHP:
print_r($_POST);
am Anfang des Scripts. Guck nach, ob alle Werte richtig ankommen. Erst wenn ja, such weiter den Fehler im PHP-Code.