2012-04-19 4 views
1

Я получаю отличные советы от этого сайта, но я действительно борюсь с чем-то сейчас и нуждаюсь в некоторой экспертной помощи, я учусь, пожалуйста, будь красивой :-) Во всяком случае, у меня есть сценарий, который динамически меняет 3 выпадающих меню в зависимости от того, что пользователь выбирает, у меня есть база данных с одной таблицей, в которой я не могу без проблем (mysql) до сих пор так хорошо, проблема в том, что я не могу дать результаты на основе того, что пользователь выбирает из выпадающее меню, я не вижу никаких записей, и я даже не уверен, могу ли я использовать запрос с моими пунктами меню, имеющими номера в отличие от слов, я бы оценил даже небольшую помощь, мне просто нужно получить один бит, думаю, что смогу справиться = спасибо всемQuery MYSQL DB из динамического выпадающего меню

<?php 
// Make a MySQL Connection 
mysql_connect("localhost", "", "") or die(mysql_error()); 
mysql_select_db("travel") or die(mysql_error()); 


$valid_class = array('4', '6', '7', '1', '5', '3'); 
$valid_category = array('4.1.9', '4.1.7', '4.1.8', '4.1.6', '4.1.5', 
'4.1.2', '4.1.1', '4.1.10', '4.1.4'' 4.1.3',); 

$where = array(); 
$where[] = 'menuOne = "' . mysql_real_escape_string($_POST['menuOne']) . '"'; 
; 

if (in_array($_POST['menuOne'], $valid_class)) 
{ 
$where[] = 'menuOne = "' . $_POST['menuOne'] . '"'; 
} 

if (in_array($_POST['menuTwo'], $valid_category)) 
{ 
$where[] = 'menuTwo = "' . $_POST['menuTwo'] . '"'; 
} 
// Retrieve all the data from the "category" table 
$result = 'SELECT * FROM records WHERE ' . implode(' AND ', $where); 



     if(!isset($result)) 
{ 
mysql_affected_rows($result); 

} 
echo "\n <table border=1 width=100%>"; 

     echo "\n<tr>" . 
      "\n\t<th>ID</th>" . 
      "\n\t<th>Name</th>" . 
      "\n\t<th>Address</th>" . 
      "\n\t<th>Location</th>" . 
      "\n\t<th>Email</th>" . 
      "\n\t<th>Telephone</th>" . 
      "\n\t<th>Website</th>" . 
      "\n\t<th>Open Season</th>" . 
      "\n\t<th>Destination</th>" . 
      "\n\t<th>Categories</th>" . 

      "\n</tr>"; 

     while($row = @ mysql_fetch_array($result)) { 

      echo "\n<tr>" . 
       "\n\t<td>{$row["ID"]}</td>" . 
       "\n\t<td>{$row["Name"]}</td>" . 
       "\n\t<td>{$row["Address"]}</td>" . 
       "\n\t<td>{$row["Location"]}</td>" . 
       "\n\t<td>{$row["Email"]}</td>" . 
       "\n\t<td>{$row["Telephone"]}</td>" . 
       "\n\t<td>{$row["Website"]}</td>" . 
       "\n\t<td>{$row["Open Season"]}</td>" . 
       "\n\t<td>{$row["Destination"]}</td>" . 
       "\n\t<td>{$row["Categories"]}</td>"; 

     } 
     echo "\n</table>"; 





?> 

ответ

0

Для того, чтобы ваш MySQL Query

$result = 'SELECT * FROM records WHERE ' . implode(' AND ', $where);

Для работы вам нужно на самом деле отправить его.

mysql_query($result)

То, что вы в настоящее время

while($row = @ mysql_fetch_array($result)) {

предназначен для запуска на результате msql_query вызова. например

$query= mysql_query($result);

затем запустить

while($row = @ mysql_fetch_array($query)) {

Так вот ваша единственная проблема, насколько я могу видеть, вы только что вышли из запроса.

Надеюсь, что это поможет, вы можете попросить более подробную информацию.

+0

Hi SpeedCrazy, спасибо большое за полезный ответ вчера, я не смог отправить свою благодарность, но он сделал много смысла, я немного изменил свой подход, но все еще не совсем уверен, почему я не могу извлечь записи из mysql из массив, я могу выбрать * без проблем, просто не могу получить то, что я хочу от значений в массиве. –

+0

Что именно вы имеете в виду? То, что я сделал, это вытащить их из массива. Используя 'mysql_query()' вытаскивает данные из db, а затем запускает 'mysql_fetch_array()' форматирует данные в массиве, вы не можете делать последнего без первого. Если вы имеете в виду, что вы не можете получить доступ к данным по имени столбца, используйте 'mysql_fetch_assoc()', который задает данные в ассоциативном массиве. – SpeedCrazy

+0

Еще раз спасибо за помощь Амиго, я думаю, что то, что я пытаюсь сделать, немного выше моего нынешнего набора навыков, я могу просто начать с нуля что-то, что не основано на динамическом изменении меню, и у меня есть еще одна проблема, когда я могу получить что-то более простое. Еще раз спасибо Wes –

Смежные вопросы