Suchergebnis wird nicht angzeigt

dennis-sauer

Erfahrenes Mitglied
Hallo,

habe das Problem das nach der Eingabe des Suchbegriffs "nicht" der gewünschte Eintrag aus der Datenbank angzeigt wird sondern alle Einträge aus der Datenbank in alphabetischer Reihenfolge. Da muss im Code irgendwo ein Fehler sein - oder!?

PHP:
  <?php
  
  $query  = &quot;SELECT id, name, strasse, plz, telefon, fax, &quot;;
  $query .= &quot;oepnv FROM krankenhaeuser &quot;;
  $query .= &quot;WHERE strasse LIKE '%&quot;.$_POST[&quot;stichwort&quot;].&quot;%' &quot;; 
  $query .= &quot;ORDER BY name &quot;;
  
  $result = mysql_query($query)
   OR DIE (&quot;Query-Fehler bei der Ausführung&quot;.mysql_error());
   
  while ($row = mysql_fetch_row($result))
   {
    print (&quot;<p>Name: &quot;.$row[1].&quot;<br>\n&quot;);
    print (&quot;   Straße: &quot;.$row[2].&quot;<br>\n&quot;);
    print (&quot;   Postleitzahl: &quot;.$row[3].&quot;</p>\n&quot;);
   }
  
  ?>
 
Bei print() musst du den Inhalt doch in Anführungszeichen setzen!

PHP:
print ("&quot;<p>Name: &quot;".$row[1]."&quot;<br>n&quot;");

greetz
daddz
 
Probier mal Folgendes:
PHP:
<?php

	$query = "
		SELECT
		        `id`,
		        `name`,
		        `strasse`,
		        `plz`,
		        `telefon`,
		        `fax`,
		        `oepnv`
		  FROM
		        `krankenhaeuser`
		  WHERE
		        `strasse` LIKE '".mysql_real_escape_string($_POST['stichwort'])."'
		  ORDER BY
		        `name`
		";
	$result = mysql_query($query) OR die('Query-Fehler bei der Ausführung '.mysql_error());

	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
		echo '<p>Name: '.$row['name'].'<br>';
		echo 'Straße: '.$row['strasse'].'<br>';
		echo 'Postleitzahl: '.$row['plz'].'</p>';
	}

?>
 
Zuletzt bearbeitet:
Hallo,

@daddz: Hatte ich, die Anzeige hier ist nur irgendwie nicht ganz gelungen.
PHP:
    <?php 
   
  	$query = &quot; 
  		SELECT 
  				`id`, 
  				`name`, 
  				`strasse`, 
  				`plz`, 
  				`telefon`, 
  				`fax`, 
  				`oepnv` 
  		  FROM 
  				`krankenhaeuser` 
  		  WHERE 
 				`strasse` LIKE '&quot;.mysql_real_escape_string($_POST['stichwort'].&quot;' 
  		  ORDER BY 
  				`name` 
  		"; <--- hier
  	$result = mysql_query($query) OR die('Query-Fehler bei der Ausführung '.mysql_error()); 
   
  	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) { 
  		echo '<p>Name: '.$row['name'].'<br>'; 
  		echo 'Straße: '.$row['strasse'].'<br>'; 
  		echo 'Postleitzahl: '.$row['plz'].'</p>'; 
  	} 
   
  ?>

Bekomme eine Fehlermeldung für die Zeile wo hier steht.

Parse error: parse error in c:\programme\easyphp1-8\www\test02.php on line 33

hmmmmmm

Sorry kenn mich mit PHP net so gut aus...

Gruß

Dennis
 
Wieso hast du dort Entitäten drin stehen? Das kann so doch garnicht funktionieren,...
 
Zuletzt bearbeitet:
Ist es möglich, dass dein Editor das Zollzeichen (") durch eine Entitäts-Referenz (&quot;) ersetzt?
Denn würdest du meinen Vorschlag 1:1 kopieren, sollte es funktionieren.
 
Hallo,

also habe das nochmal kopiert und mit dem Editor gemacht - der ersetzt das nicht und spuckt immernoch den Fehler für Zeile 33 aus... :confused:
 
Hallo,

ok danke erstmal. Nun bin ich im Prinzip wieder da, wo ich gewesen bin. Es kommt "wieder" die Meldung:

Notice: Undefined index: stichwort in c:\programme\easyphp1-8\www\test02.php on line 30

Das hatte ich auch in der Vorgänger Version von mir drin.

Gruß

Dennis
 
Zurück