Tabelle auslesen

makitaman

Mitglied
Hi

"Mein erster beitrag" :)
So dann los.
Folgendes Prinzip: Ich möchte aus einer Tabelle privat mit der Spalte "hitsout" den größten Wert auslesen.


PHP:
$abfrage = "SELECT max(hitsout) as id FROM privat WHERE id"; 
$ergebnis = mysql_query($abfrage); 
while($show = mysql_fetch_object($ergebnis)) 
{ 
id1 = $show->id;
echo "$id1<br>";
}

Damit habe ich schon mal 1 Ergebnis
jetzt hat die Tab ja aber auch noch die Spalte "banurl" .
Da möchte ich jetzt den passenden Wert zum 1 Erbenis bekommen.
Der für mich letztendlich entscheidene Wert ist das "echo" vom 2 Ergebnis.

hat jemand verstanden was ich meine ?

Danke im voraus
Matze
 
(untested)
Code:
SELECT banurl from privat
WHERE hitsout = (SELECT max(hitsout) FROM privat WHERE id = 123)

Für "123" muss natürlich noch die einzuschränkende ID eingesetzt werden.

snuu
 
1 frage
Was meinst Du mit einzuschränkender ID

2 Frage
Habe den Teil:
PHP:
$abfrage = "SELECT max(hitsout) as id FROM privat WHERE id";
mit dem ersetzt :
PHP:
$abfrage = "SELECT banurl from privat WHERE hitsout = (SELECT max(hitsout) FROM privat WHERE id = 123 )";

bekomme folgenden hinweis, das in der Zeile
PHP:
while($show = mysql_fetch_object($ergebnis))

ein Fehler ist .

grrrrr.
 
Weil Du in Deinem ursprünglichem Statement nur "WHERE id" stehen hattest, was keinen Sinne ergibt, dachte ich, dass Du die Daten noch einschränken wolltest. Aber sei es drum. Versuche mal dieses Statement:
Code:
SELECT banurl from privat WHERE hitsout = (SELECT max(hitsout) FROM privat)

snuu
 
erstmal danke für die Bemühungen ABER:

folgender fehler im Prinzip der selbe wie eben
hier mal die Warnung

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource

Der Coder ist jetzt:
PHP:
$abfrage = "SELECT banurl from privat WHERE hitsout = (SELECT max(hitsout) FROM privat)";
$ergebnis = mysql_query($abfrage); 
while($show = mysql_fetch_object($ergebnis))
 { 
    $id1 = $show->id; 
    echo "$id1<br>"; 
    }

irgendwie haut dat noch nich hin:mad:
 
Ok, dann hast Du wahrscheinlich eine MySQL-Version kleiner als 4.1.
Versuche es in diesem Fall mal mit folgendem Statement:
Code:
SELECT banurl, max(hitsout) as hitsout
FROM privat
GROUP BY banurl
ORDER BY hitsout DESC
LIMIT 0,1

snuu
 
Oh man ich muß Dich ja ganz schön nerven

1 Erfolg habe ich zu verzeichnen
es gibt keinen error mehr.
aber er zeigt mir nicht den Wert der in banurl abgelegt ist
hier mein momentanes ergebnis

PHP:
$abfrage = "SELECT banurl, max(hitsout) as hitsout
FROM privat
GROUP BY banurl
ORDER BY hitsout DESC
LIMIT 0,1";
 
$ergebnis = mysql_query($abfrage); 
echo mysql_errno() . ": " . mysql_error() . "\n";
while($show = mysql_fetch_object($ergebnis)) 

{ 
    $id1 = $show->id; 
    echo "$id1<br>"; 
    
    }

please help

Achso wie finde ich heraus welche Version ich habe von MySQL
in meiner sysinfo.cgi steht was von php4.3.0 falls es das ist was Du meinst
 
Zurück