Variablenübergabe aus DB

anskar

Grünschnabel
Hallo

ich habe folgende if Abfrage geschieben:

Code:
$abfrage = "SELECT u_id,u_name FROM user_data WHERE u_name LIKE '$search_name'" ;
$ergebnis = mysql_query($abfrage);



if 	(empty($search_name)) 
	{echo"Bitte geben Sie einen Namen ein";}
elseif 	($search_name=u_name)
	{
	while($row = mysql_fetch_object($ergebnis))
	echo "			
	<table border=0 width=\"150px\" class=\"table_bottom\" cellspacing=\"0\" cellpadding=\"0\">								<tr>					
	<td width=\"150px\" class=\"border_right_white\">
<a href=\"details.php?id=".$row->u_id."\">".$row->u_name."</a>
	</td>
	</tr>
	</table>
	";
	}

	else
	{echo"Keine Einträge mit dem Namen: $search_name vorhanden";}

Wenn das Textfeld leer ist, wird die richtige Fehlermeldung ausgegeben.
Wenn aber der Inhalt nicht mit dem feld u_name der DB übereinstimmt bekomme ich folgende Fehlermeldung:

Use of undefined constant u_name - assumed 'u_name' in C/.....

Wenn der Inhalt übereinstimmt bekomme ich zwar das Feld aus der DB
ausgegeben aber trotzdem die gleiche Fehlemeldung.

Irgendwie komme ich nicht dahinter ;-( Ich bin für jede Hilfe dankbar.

mfg anskar
 
u_name holst du dir doch aus deiner Datenbank. Du musst es also erst fetchen und danach kannst du dann abfragen mit dem was du willst.

Vorschlag
PHP:
<?php
if 	(empty($search_name)) {
	echo"Bitte geben Sie einen Namen ein";
}else{
	$abfrage = "SELECT u_id,u_name FROM user_data WHERE u_name LIKE '$search_name'" ;
	$ergebnis = mysql_query($abfrage);

 	if(mysql_num_rows($ergebnis)>0){
		while($row = mysql_fetch_assoc($ergebnis)){
			echo '<table border=0 width="150px" class="table_bottom" cellspacing="0" cellpadding="0">
					<tr>
						<td width="150px" class="border_right_white">
							<a href="details.php?id='.$row['u_id'].'>'.$row['u_name'].'</a>
						</td>
					</tr>
				</table>';
		}
	}else{
		echo'Keine Einträge mit dem Namen: '.$search_name.' vorhanden';
	}
}	
?>
 
Bei einem leeren Textfeld und einem nicht vorhanden Datensatz bekomme ich die richtige Fehlermeldung. Nur leider erhalte ich keine Ausgabe der bestehenden Datensätze aus der DB?
 
Sondern? Was kommt dann?
Kannst ja auch mal nur so testen:
PHP:
<?php
if 	(empty($search_name)) {
	echo"Bitte geben Sie einen Namen ein";
}else{
	$abfrage = "SELECT u_id,u_name FROM user_data WHERE u_name LIKE '$search_name'" ;
	$ergebnis = mysql_query($abfrage);

 	if(mysql_num_rows($ergebnis)>0){
              echo('treffer vorhanden');
		}
	}else{
		echo'Keine Einträge mit dem Namen: '.$search_name.' vorhanden';
	}
}	
?>
 
Dank für deine Mühe ... funktioniert aber leider auch nicht ;-(
Also beim einem leeren Suchfeld bekomme ich: "namen eingeben"
Bei einem vorhandenen Eintrag erscheint der gesuchte Datensatz und
bei einem nicht vorhandenen Eintrag keine Fehlermeldung nur eine leere Seite ...
 
Zuletzt bearbeitet:
Zurück