2016-12-10 6 views
-1

Was ich versuche zu tun ist: Ich habe eine Tabelle namens Stations, und es hat 100 Spalten. Ich möchte alle Datensätze von Stations auswählen und nach dem Zufallsprinzip 1 Datensatz auswählen und den Zufallsdatensatz wiedergeben.Echo Mysql Abfrage mit PHP

Hier ist, was ich bisher habe:

<?PHP 

$connect = mysql_connect("***", "****", "****") or die("Connection Failed"); 
mysql_select_db("***"); 
$query = mysql_query("SELECT * FROM Stations ORDER BY RAND() LIMIT 1"); 

WHILE($rows = mysql_fetch_array($query)): 

$Station = $rows['Station1'];///seems it will only show Station1 Column I have Station1 to Station100 was not sure how to add rest of Stations 

endwhile; 
?> 
+0

Cool, was ist deine Frage jetzt? Weiter zu PDO, stoppe mit mysql_ * ', es ist veraltet und unsicher!** –

Antwort

1

Da Sie das Ergebnis sind Begrenzung nur eine Zeile auf, Sie müssen nicht dasswhile() Schleife. holen Sie einfach die Zeile aus der Ergebnismenge und verwenden Sie es danach wie folgt aus:

$rows = mysql_fetch_array($query); 

Nun zu Ihrer Frage kommt,

... es zeigt nur Station1 Spalte Ich habe Station1 zu Station100 wurde nicht sicher, wie Rest der Stationen

zur Anzeige alle hundert Spaltenwerte hinzuzufügen, dann ist es besser, eine for Schleife wie diese zu verwenden,

for($i = 1; $i <= 100; ++$i){ 
    // display $rows['Station' . $i] as per your choice. Below is one way. 
    echo $rows['Station' . $i] . '<br />'; 
} 

Update:

Von Ihrem Kommentar,

... Ich brauche es zufällig aus allen 100 Spalten 1-Wert wählen und diesen Wert echo bitte

Nach Rufen Sie die Zeile aus der Ergebnismenge ab, verwenden Sie die Funktion array_rand(), um einen zufälligen Schlüssel aus dem Array abzurufen, und verwenden Sie dann diesen Schlüssel, um den Spaltenwert wie folgt anzuzeigen:

$randKey = array_rand($rows); 
echo $rows[$randKey]; 

Nebenbei bemerkt: nicht mysql_* Funktionen verwenden Sie, werden sie als PHP 5.5 als veraltet und werden zusammen in PHP 7.0 entfernt. Verwenden Sie stattdessen mysqli oder PDO Erweiterungen. Lesen Sie auch why shouldn't I use mysql_* functions in PHP?.

+0

Vielen Dank für Everyones Hilfe, Rajdeep Ich habe Ihren Code oben verwendet und es zeigt alle meine Spalte Daten. Was ich tun muss, ist, dass alle meine Spalten eine Zeile mit einem Namen haben. Ich brauche es, um zufällig einen Wert von allen 100 Spalten zu wählen und diesen Wert bitte wiederzugeben – user3015877

+0

@ user3015877 Ich habe meine Antwort aktualisiert, siehe den ** Update ** Abschnitt meiner Antwort. –

+0

Rajdeep, Danke für die Hilfe, die den Trick gemacht hat, schätzen sehr. – user3015877

0

mysql_query - Diese Erweiterung wurde in PHP 5.5.0 veraltet und in PHP 7.0.0 entfernt.

Versuchen Sie dies möglichst zu vermeiden, da Sie in Zukunft in Schwierigkeiten geraten könnten.

$Station = $rows['Station1'];///seems it will only show Station1 Column I have Station1 to Station100 was not sure how to add rest of Stations 

Ich möchte nur den Grund hinzu, warum Sie wie diese zu erhalten.

Sie wählen immer $rows['Station1'];, was bedeutet, dass Sie nur die Spalte Station1 aus der Datenbank auswählen. Um andere Spalten zu erhalten, benötigen Sie einen anderen Index. Um beispielsweise die zweite Spalte zu erhalten, müssen Sie $rows['Station2']; schreiben. Die Lösung, wie man alle Spalten erhält, ohne von Hand geschrieben zu werden, wurde bereits von Rajdeep Paul bereitgestellt.