PHP Datensätze aus Datenbank durchsuchen und ausgeben

erixschueler

Cadet 1st Year
Registriert
Juni 2014
Beiträge
9
Hi @ all.
Ich hänge grad an einem eventuell sogar etwas kleinerem Problem, allerdings finde ich die Lösung einfach nicht. Ich möchte aus meiner Tabelle in der Datenbank etwas suchen und das ausgeben lassen.

Ich habe dafür bereits ein Script der aber leider nur halb funktioniert
PHP:
$sql  = '
	SELECT
		*
		FROM
		tabelle
		WHERE spalte LIKE 'Ramona'
		';
	$query = mysql_query($sql);
	$row = mysql_fetch_array($query);
	
        echo '<ul>';		
		
	echo $row[2];?><br>
        <?php
	echo "</ul>";
	
        ?>

Mit diesem Script sucht er in der tabelle unter spalte nach Ramona und gibt unten die Reihe 2 aus.

So weit so gut, allerdings hört er mit suchen auf sobald der Ramona gefunden hat. Ich allerdings möchte das er weitersucht. Gehn wir davon aus es gibt eine Ramona in Wien und eine in Berlin. In der Reihe spalte stehen nun 2x Ramona. Dann soll er mir quasi ausgeben:
Wien (dann soll er weitersuchen un letztendlich)
Berlin (ausgeben)

Ich hoffe das war verständlich erklärt. Danke schonmal im vorraus.
 
Meinst du so?
Und warum LIKE und dann "Ramona"? Wenn du keine Platzhalter nimmst, dann nutze das Gleich-Zeichen. Probiere es mal aus.

PHP:
<?php

$query = mysql_query('SELECT * FROM `tabelle` WHERE `spalte` = "Ramona"');

echo '<ul>';

while($row = mysql_fetch_array($query))
{
	echo '<li>'.$row[2].'</li>';
}

echo '</ul>';

?>
 
Tja du findest zwar wahrscheinlich mehrere Ramonas, aber du gibst eben nur die erste aus. Mach es so wie mw197 gezeigt hat, also per Schleife alle ausgeben.
 
mw197 schrieb:
Meinst du so?
Und warum LIKE und dann "Ramona"? Wenn du keine Platzhalter nimmst, dann nutze das Gleich-Zeichen. Probiere es mal aus.

PHP:
<?php

$query = mysql_query('SELECT * FROM `tabelle` WHERE `spalte` = "Ramona"');

echo '<ul>';

while($row = mysql_fetch_array($query))
{
	echo '<li>'.$row[2].'</li>';
}

echo '</ul>';

?>

Erstmal danke für die Antwort. Ich hab es jetzt genauso gemacht, wie du es beschrieben hast. Allerdings kommt bei mir jetzt folgende Fehlermeldung:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /users/.../.../.../.../....php on line 63


Ok das hat sich grad erledigt, das war ein Fehler meinerseits, allerdings gibt er mir jetzt gar nichts mehr aus :(
Er hat jetzt 2 <li> (danke dafür ist besser als <br>) gemacht aber er gibt dahinter nichts aus :(

Nochmal zum besseren Verständnis

Ich weiß ja was eine while-Schleife macht und hab auch schon davor damit gearbeitet kam aber auch schon davor immer genau an diesem Punkt, wo ich jetzt bin.
Schreibe ich das ganze ohne while gibt er mir wie vorher eben Wien aus (id=1). Schreibe ich es mit while gibt er mir gar nichts aus. Ich hab echt keine ahnung weshalb aber langsam bringt es mich zum verzweifeln...
 
Zuletzt bearbeitet: (Besseres Verständnis)
probier mal Zeile 9 so zu schreiben:
PHP:
echo "<li>$row[2]</li>";
 
dewa schrieb:
probier mal Zeile 9 so zu schreiben:
PHP:
echo "<li>$row[2]</li>";

syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
Hatte ich aber auch schon vorher probiert ;)
 
Abreißen, neu bauen, direkt PDO verwenden...
Eine gute objektorientierte Struktur sorgt für mehr Übersicht, Erweiterbarkeit, Sicherheit und Bedienbarkeit.
 
Daaron schrieb:
Abreißen, neu bauen, direkt PDO verwenden...
Eine gute objektorientierte Struktur sorgt für mehr Übersicht, Erweiterbarkeit, Sicherheit und Bedienbarkeit.

Du hast es ja schon so oft angesprochen. Hast du deutsche oder einfache englische Links zur Einführung oder noch besser Videos für Anfänger für mich?
 
Darum mag ich PHP so: es hat ein geniales Handbuch (stellenweise nicht komplett auf Deutsch übersetzt, aber wenn man Englisch kann...). Zudem findest du in Google zig Anleitungen dazu, einfach mal nach PDO suchen.
http://php.net/manual/de/book.pdo.php
 
Versuchs doch mal mit nem assoziativen Array:

[...]

while($row = mysql_fetch_assoc($query))
{
echo '<li>'.$row['spalte'].'</li>';
}

[...]
 
Zurück
Oben