mysqlresult Frage

Hallo zusammen... ich sitze gerade an einem Problem für die Schule und ich muss direkt sagen ich bin nicht wirklich fit in Php.
Wie dem auch sei es funktioniert :D aber ich würde gerne wissen warum oO

Hier erst einmal der Code

Code:
<?
//------------------------------------------------------------------------------------------
$satz_nr = $_POST['satz_nr'];
$aktion = $_POST['aktion'];
echo $satz_nr;

include('connection.php');
$result = mysql_query("SELECT * FROM tblMitglieder") or die(mysql_error());

$menge = mysql_num_rows($result);
$spalten= mysql_num_fields($result);

//Überschrift
echo " <h1> Es sind " . $menge . "Mitglieder vorhanden! </h1>";

//Ausgabe der Tabellen + Formular
echo '<form name="mitgliederformular" method="post" action="">';
echo '<table width="400" border="1" cellpadding="3">';

switch($aktion){
		case "|<"	: $satz_nr=0;	break;
		case "<"	: if ($satz_nr>0) $satz_nr--; break;
		case ">"	: if ($satz_nr<$menge-1) $satz_nr++; break;
		case ">|"	: $satz_nr=$menge-1; break;	
		
		case "loeschen": 
			$sqlx =	"DELETE FROM tblMitglieder WHERE ID = " . mysql_result($result,$satz_nr,0);  			
			mysql_query($sqlx) or die(mysql_error());
			if ($satz_nr==$menge-1) $satz_nr--; // nur bei letztem Datensatz!
		break; 
	
	}


for($x=0;$x<$spalten;$x++)
    {
      echo "<tr>";
	  echo "<td> " . mysql_field_name($result,$x) . "</td>";
	  echo "<td><input type='text' name='" . mysql_field_name($result,$x) . "' value='". mysql_result($result,$satz_nr,$x) ."'";
	  echo "</td>";
	  echo "</tr>";
	}

echo "<tr><td align='right'>
      <input type='submit' name='aktion' value='|<'>
	  <input type='submit' name='aktion' value='<'>
	  <input type='submit' name='aktion' value='>'>
	  <input type='submit' name='aktion' value='>|'>
	  </td>";
echo "<td>
      <input type='submit' name='aktion' value='neu'>
	  <input type='submit' name='aktion' value='speichern'>
	  <input type='submit' name='aktion' value='loeschen'>
      <input type='hidden' name='satz_nr' value='$satz_nr'> 
	  </td></tr>";
	  //name="VARIABLENNAME" value="WERT"
echo "</table>";
echo "</form>";
?>
</body>
</html>

Es geht um diese Zeile

$sqlx = "DELETE FROM tblMitglieder WHERE ID = " . mysql_result($result,$satz_nr,0);
(Ich habe das durch lauter probieren so hinbekommen)

aber warum muss ich bei mysql_result($result) was ich ja schon oben angegeben habe deklarieren?

$satz_nr ist ja die aktuelle position wo ich mich mit dem "cursor" gerade befinde
Die Null steht ja für das Feld id ;)

aber warum das $result habe ka... :(

LG,weau
 
Die Funktion mysql_result() erwartet nun mal als ersten Parameter eine MySQL Resource. Sonst wüsste die Funktion ja nicht, auf welche MySQL-Anfrage sich die Auswertung überhaupt beziehen soll. Schließlich kann es ja auch mal vorkommen, dass der Benutzer zwei Anfragen hintereinander sendet und sie erst dann auswertet. Daher muss man der Funktion mitteilen, auf welche Query man sich bezieht.
In deinem Fall eben auf die Query in Zeile 8.

WebSpider
 
Zurück
Oben