2016-12-10 3 views
-1

То, что я пытаюсь сделать, это: У меня есть таблица под названием Stations, и она содержит 100 столбцов. Я хочу выбрать все записи из станций и случайным образом выбрать 1 запись и повторить случайную запись.Echo mysql Query using PHP

Вот что у меня до сих пор:

<?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

Прохладный, каков ваш вопрос сейчас? Перейдите к PDO, ** прекратите использование 'mysql_ *', он устарел и небезопасен!** –

ответ

1

Поскольку вы ограничивая результирующий набор только один ряд, вам не нужно чтоwhile() цикла. Просто выбрать строку из результирующего набора и использовать его впоследствии, как это:

$rows = mysql_fetch_array($query); 

Теперь приходит на ваш вопрос,

... он будет показывать только STATION1 Колонка меня STATION1 к Station100 был не знаю, как добавить остальные станции

чтобы отобразить все сто значений столбцов, то лучше использовать for цикл, как это,

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

Update:

Ваш комментарий,

... Мне это нужно, чтобы случайно выбрать значение 1 из всех 100 столбцов и эхо, что значение пожалуйста

После извлечение строки из результирующего набора, используйте функцию array_rand(), чтобы получить случайный ключ из массива, а затем используйте этот ключ для отображения значения столбца, например:

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

Sidenote: Не используйте mysql_* функции, они нежелательны из PHP 5.5 и удаляются полностью в PHP 7.0. Используйте вместо этого mysqli или PDO. Также читайте, why shouldn't I use mysql_* functions in PHP?.

+0

Спасибо за помощь всем, Rajdeep, я использовал ваш код выше, и он показывает все мои данные о столбцах. мне нужно, чтобы все мои столбцы имели 1 строку с именем в ней. Мне нужно, чтобы случайным образом выбрать 1 значение из 100 столбцов и эхо-значение – user3015877

+0

@ user3015877 Я обновил свой ответ, см. Раздел ** Обновить ** моего ответа. –

+0

Rajdeep, Спасибо за помощь, что сделал трюк, очень ценю. – user3015877

0

mysql_query - Это расширение было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0.

Старайтесь избегать, если это возможно, так как в будущем вы можете столкнуться с трудностями.

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

Я просто хотел бы добавить причину, по которой вы так себя чувствуете.

Вы выбираете $rows['Station1']; в любое время, что означает, что вы выбираете только столбец Station1 из базы данных. Чтобы получить другие столбцы, вам нужен другой индекс. Например, чтобы получить второй столбец, вам нужно написать $rows['Station2'];. Решение о том, как получить все столбцы без письменного согласия, было предоставлено Rajdeep Paul.