variable via php übermitteln

Godstyle

Erfahrenes Mitglied
Hi leute,

habe folgendes Problem:

Ich starte aus einer php datei ene mysql abfrage. Es sollen nur 3 Dinge ausgelesen werden. (Funktiniert auch).

Eines der Drai DInge ist ein ink, zu einer anderen Datei (Funktioniert auch).

Nun soll in der anderen Datei jedoch, der Rest der taballen Zeile ausgelesen werden. (Funktioniertnich).

PHP:
  $select = mysql_query("SELECT * FROM goettingen WHERE branche like 'abitur'");
  $reihen = mysql_num_rows($select); 
  $zeigen = floor($reihen / 5); 
   if(!$start) { $start = 0; } 
    $result = mysql_query("select * from goettingen WHERE branche like 'abitur' limit $start, 5 "); 	
	   echo "<table>"; 
while($row = mysql_fetch_object($result)){  
/*  if(Bedingung)
    { --> */
    echo "<tr>";

	echo '<td><a href="../../../beschreibung.php" target="_blank" name="'.$row->firma.'">'.$row->firma.'</a></td>';

	echo "</tr>";

von hier muss wohl die variable genommen werden. Ich weiß es gibt keinen post befehl.

und hier soll dievariable as suchkriterium eigestellt sein, so das er auch nur die eine zeile ausließt aber ann mit allen werten.

PHP:
$search = $_GET['name'];
  
	  $select = mysql_query("SELECT * FROM goettingen WHERE firma like '$search'");
  $reihen = mysql_num_rows($select); 
  $zeigen = floor($reihen / 5); 
   if(!$start) { $start = 0; } 
    $result = mysql_query("select * from goettingen WHERE firma like 'abitur' limit $start, 5 "); 	
	   echo "<table>"; 
while($row = mysql_fetch_object($result)){ 
 

	echo "<tr>";
	echo "<td>";
    echo $row->firma;
    echo "</td>";
	echo "</tr>";
 
PHP:
echo '<td><a href="beschreibung.php?name='.$row->firma.'" target="_blank">'.$row->firma.'</a></td>';

So sollte es funktionieren.

Weiterhin versuche doch bitte etwas mehr auf deine Groß- und Kleinschreibung zu achten, danke.
 
Danke, habe es direkt eingebaut.

Bekomme nun eine leere Seite angezeigt, also muss ich in der beschreibung.php auch irgendwas ändern. Kannst du mir da noch den befehl nennen?
 
Füge mal ein [phpf]error_reporting[/phpf] mit E_ALL als Parameter an den Anfang der Datei.
Oder prüfe mal [phpf]mysql_error[/phpf].

Und letzendlich gebe ich dir noch den Hinweis dich über SQL Injektionen zu informieren. Zu deinem eigenen Schutz.
 
Ihr könnt mich jetzt für dumm halten, aber ich Lebe nach dem Motto, wer nicht fragt bleibt dumm.
Ich habe mir das nun mehrfach durchgelesen bin aber nicht zu einem für mich passenden Ergebniss gekommen.
Wäre super hilfreich wenn man mir das sript korrigiren kann.
Ich werde es mir dann genau ansehen um su für die Zukunft diee Frage nicht mehr stellen zu müssen.

Nach wi vor, ist es mir nicht möglich das ich die Daten richtig angezeigt bekomme. Entweder ließt er mir die ganze DB aus oder ben gar nichts.
 
Also gut, gehen wir es Stück für Stück durch.

PHP:
$select = mysql_query("SELECT * FROM goettingen");
$reihen = mysql_num_rows($select); 
$zeigen = floor($reihen / 5); 
if(!$start) 
{ 
	$start = 0; 
} 
$result = mysql_query("select * from goettingen limit $start, 5 ");     
echo "<table>"; 
while($row = mysql_fetch_object($result))
{ 
	echo "<tr>";
	echo '<td><a href="beschreibung.php?name='.urlencode($row->firma).'" target="_blank">'.$row->firma.'</a></td>';  
	echo "</tr>";
}

Dieses Skript sollte dir alle Firmen liefern, mit einem Link. (Sind die oberen Zeilen noch Reste einer Blätterfunktion?)
[phpf]urlencode[/phpf] maskiert etwaige Zeichen, die evtl. im Firmennamen auftauchen können, in der URL aber nicht. (z. B. &, ß, usw.)

Nun wollen wir aber, das er NUR alle Firmen ausliest, wenn kein Firmenname in der URL steht.

PHP:
if(empty($_GET['name']))
{
	$select = mysql_query("SELECT * FROM goettingen");
	$reihen = mysql_num_rows($select); 
	$zeigen = floor($reihen / 5); 
	if(!$start) 
	{ 
		$start = 0; 
	} 
	$result = mysql_query("select * from goettingen limit $start, 5 ");     
	
}
else
{
	$result = mysql_query("SELECT * FROM `goettingen` WHERE `name` = '".mysql_real_escape_string(urldecode($_GET['name']))."'");
}
echo "<table>"; 
while($row = mysql_fetch_object($result))
{ 
	echo "<tr>";
	echo '<td><a href="beschreibung.php?name='.urlencode($row->firma).'" target="_blank">'.$row->firma.'</a></td>';  
	echo "</tr>";
}
echo '</table>';

Wir prüfen ob $_GET['name'] leer ist. Falls ja, geht er in deine alte Prozedur hinein und liest alle Einträge aus.
Falls es nicht leer ist, stellt er ein Query zusammen, dass eine spezifische Firma ausliest.
[phpf]mysql_real_escape_string[/phpf] maskiert dabei gewisse Zeichen im übergebenen String und verhindert SQL Injektionen.
[phpf]urldecode[/phpf] ist der Counterpart zu [phpf]urlencode[/phpf].

Wenn noch spezifische Fragen bestehen, beantworte ich die auch noch gerne ;)
 
Zurück