Zufälliger Datensatz

marloy87

Mitglied
Hallo Leute!

Ich habe folgendes Problem:

Ich möchte einen zufällig bestimmten Datensatz aus meiner Tabelle ausgeben. Dies darf allerdings nur ein Datensatz sein, der in einer Spalte (z.B. Wert) die Nummer 1 stehen hat.

Das heißt also: Ich habe viele Datensätze, die in der Spalte "Wert" eine 1 stehen haben. Wiederum gibt es auch welche die dort eine 0 stehen haben (nur nebenbei gesagt). Aber ich brauche nur einen Datensatz und zwar von denen mit der 1. Irgendeinen. Einen durch Zufall bestimmten.

Ich hab schonmal versucht mir rand() auf eine Lösung zu kommen, aber mir ist noch nichts sinnvolles damit eingefallen. Wie kann ich das realisieren? Gibt es da vielleicht noch eine andere Möglichkeit? Ich danke schonmal für eure Hilfe!

Danke
marloy87
 
Ich würde zuerst mal den RecordSet öffnen und zwar, daß nur Datensätze enthalten sind die den Wert 1 haben.
"SELECT * FROM DeineTabelle WHERE Wert = 1" ' Wenn Wert ein Zahlenfeld ist

"SELECT * FROM DeineTabelle WHERE Wert = '1'" ' Wenn Wert ein Textfeld ist

Und Jetzt mit Rnd eine Zufallszahl ermitteln.

Dim Zahl As Variant

Randomize -Timer
Zahl = Int(DeinRecordSet.RecordCount * Rnd + 1)

DeinRecordSet.Move Zahl, 1
 
Hi!
Also ich hab das Ganze nun wie folgt umgesetzt:
PHP:
<?php
echo "<a name='top'></a>";
include ("code/inc/inc.db_config.php");

mysql_connect(DBHOST, DBUSR, DBPWD) or die (SERVERERROR);
mysql_select_db(DBNAME) or die (DBERROR);


$abfrage = "SELECT * FROM $TABLE1 ORDER BY RAND() LIMIT 1";
$ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->adlink;     
 	$count = $row->counter; 
	$count++;  
	$sid = $row->id;
	}

$aendern = "UPDATE $TABLE1 Set counter = '$count' WHERE id = '$sid'";
$update = mysql_query($aendern);
	
?>

...bekomme schliesslich jedoch folgende Fehlermeldung:
Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in
 /***/***/***/***/***/***/adverst.php on line 11

Weiss jmd. wo der Fehler daran liegt?! :suspekt:


MfG'...
 
Zurück