PHP-Datenbankabfrage

Hi!

Kann mir irgendwer helfen.
Ich möchte gernen aus einer bestimmten MySQL-Datenbank eine ganz bestimmte Zelle abfragen.
Hab zwar schon viele Tuts gelesen aber bin nicht weitergekommen.

Danke
Jungle

PS: wenn möglich: anfängerverständlich

Hallo

@mysql\_connect("serveradresse (z.B. localhost)","benutzername","passwort")
 OR DIE ("Konnte nicht mit MySQL verbinden.");
@mysql\_select\_db("datenbankname")
 OR DIE ("Konnte nicht mit Datenbank auf MySQL verbinden.");
$que\_select="SELECT spaltenname1, spatltenname2 FROM tabellenname WHERE (spaltenname3='wert1' AND spaltenname4=wert2')";
$res\_select=mysql\_query($que\_select);
while $ftc\_select=mysql\_fetch\_assoc($res\_select) {
 print\_r($ftc\_select);
 }

Der Query-String im einzelnen:

SELECT spaltenname1, spatltenname2 - Liefere aus allen Tabellenzeilen die Werte der Spalten spaltenname1 und spaltenname2; * für alle Spalten
FROM tabellenname - aus tabelle tabellenname
WHERE (spaltenname3=‚wert1‘ AND spaltenname4=wert2) - aus allen Tabellenzeilen in denen die Spalte spaltenname3 den Wert wert1 und die Spalte spaltenname4 den Wert wert2 enthalten. Stringwerte müssen in einfachen Anführungszeichen stehen.

Mit $ftc_select=mysql_fetch_assoc($res_select) wird jeweils eine Zeile der Tabelle in $ftc_select gespeichert. Wenn definitiv genau eine Zeile zurückgegeben wird, kann man das while weglassen.

print_r($ftc_select) liefert so etwas wie

Array
(
 [spaltenname1] =\> erster\_wert
 [spaltenname2] =\> zweiter\_wert
)

Johannes Matschke

rehi!

Tut mir leid ich vergaß dass per Zufall 5 Zeilen aus der Tabelle ausgwählt werden sollen

Das ganze sieht dann ungefähr so aus:

<?php $link = mysql_connect( "localhost", "meinname", "meinpasswort" );
if(! $link) { //hat nicht geklappt echo "Konnte keine Verbindung aufbauen"; echo mysql\_error; die; }; if(! mysql\_select\_db( "gerryjungle" )) { //es hat nicht geklappt echo "Konnte nicht die Datenbank auswählen" . mysql\_error; die; } //weiter geht´s mit der Abfrage: $query =("SELECT \* FROM Scherz"); $erhalten = mysql\_query( $query ); //$erhalten sollte dann das Array sein das die Daten enthält if (! $erhalten) { die("Fehler bei der Abfage"); }; $diefuenf = array\_rand($erhalten ,5) //hier zum schluss müssen noch per random die 5 zufälligen Datensätze ausgwählt werden ?\>Test Frage1: <?php echo(/*das erste von Frage von $diefuenf*/); ?>

Antwort:
Frage2: <?php echo(/*das zweite*/); ?>
Antwort:
Frage3: <?php echo(/*das dritte*/); ?>
Antwort:
Frage4: <?php echo(/*das vierte*/); ?>
Antwort:
Frage5: <?php echo(/*das fünfte*/); ?>
Antwort:

MfG
Jungle

Mmm…ein kleiner Fehler

//weiter geht´s mit der Abfrage:
$query =(„SELECT * FROM Scherz“);
$erhalten = mysql_query( $query ); //$erhalten sollte dann
das Array sein das die Daten enthält

$erhalten ist noch kein Array, sondern eine Mysql-Ressource.
mit mysql_fetch_assoc($erhalten) erhällst du ein assoziatives Array der ersten Zeile.

if (! $erhalten) {
die(„Fehler bei der Abfage“);
};

Du müsstest das etwa so machen:

$scherzliste=array();
while ($zeile=mysql\_fetch\_assoc($erhalten))
 $scherzliste[]=$zeile['scherz'] //Der Name des Mysql-Feldes

Bei array_rand() musst du beachten, dass nicht Werte, sondern Schlüssel zurückgegeben werden. Auf den 4. Scherz greifst du beispielsweise mit $scherzliste[$diefuenf[3]] zu.

MfG

Hi

$erhalten ist noch kein Array, sondern eine Mysql-Ressource.
mit mysql_fetch_assoc($erhalten) erhällst du ein assoziatives
Array der ersten Zeile.

aber für array_rand() brauch ich dass noch nicht oder?

Du müsstest das etwa so machen:

$scherzliste=array();
while ($zeile=mysql_fetch_assoc($erhalten))
$scherzliste[]=$zeile[‚scherz‘] //Der Name des
Mysql-Feldes

Bei array_rand() musst du beachten, dass nicht Werte,
sondern Schlüssel zurückgegeben werden. Auf den 4. Scherz
greifst du beispielsweise mit zu.

ähm, das heißt oben genannter Code muss noch vorher eingebaut
werden und dann bei der Ausgabe brauch ich jeweils nur
$scherzliste[$diefuenf[Zahl]] ?

(anm: da bekomm ich folgendes raus:
Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/vhosts/funnetwork/hosting/gerryjungle/test1,51.php on line 28)

MfG