2012-03-04 3 views
1

Как я могу использовать вывод MySQL-запроса, чтобы извлечь дополнительную информацию из базы данных об этом выходе?Используйте вывод MySQL для извлечения дополнительной информации

Например, если мой запрос генерирует список имен, и есть дополнительная информация о каждом имени, существующем в базе данных, когда я нажимаю на имя на выходной странице, система будет извлекать соответствующую информацию из базы данных и покажите его на другой странице.

EDIT: Вот код:

<?php 
    // you can delete mysql-assoc 
    while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { 
?> 
    <tr align="center"> 
    <td width="5%"> 
     <a href="// I don't know what do put here " > 
     <?php print("{$row["pid"]}");?> 
     </a> 
    </td> 
    <td><?php print("{$row["place"]}");?></td> 
    <td><?php print("{$row["date"]}");?></td> 
    <td><?php print("{$row["ppp"]}");?></td> 
    <td><input type="button" value="Book"></td> 
    </tr> <?php } ?> 
+0

Вы пробовали делать это самостоятельно? Если да, напишите свой код; иначе, попробуйте сами, и мы вам поможем. Мы не собираемся писать решение для вас. – Edwin

+0

У меня есть код, но я не могу опубликовать его правильно. – qusai0

+0

Идем дальше и публикуем его; мы можем отредактировать его для форматирования позже. – Edwin

ответ

0

Великий; вот что вам не хватает:

<a href="<?php // I don't know what to put here ?>" > 

Должно быть:

<a href="<?php echo 'database.php?action=viewrecord({$row["pid"]})'?>" > 

Оттуда, вы должны быть в состоянии извлечь соответствующую информацию, используя pid пользователя.

На стороне заметки, если вы действительно не беспокоитесь о расстоянии, вы должны просто выгрузить соответствующий HTML-код; это позволит сэкономить вам задачу многократного ввода <?php ?> каждый раз, когда вы хотите выгрузить переменную.

<?php 
    // you can delete mysql-assoc 
    while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { 
    echo "<tr align='center'>"; 
    echo "<td width='5%'>"; 
    echo "<a href='database.php?action=viewrecord({$row['pid']})'>"; 
    echo "{$row['pid']}"; 
    echo "</a>"; 
    echo "</td>"; 
    echo "<td>{$row['place']}</td>"; 
    echo "<td>{$row['date']}</td>"; 
    echo "<td>{$row['ppp']}</td>"; 
    echo "<td><input type='button' value='Book'></td>"; 
    echo "</tr>"; 
    } 
?> 
+0

Спасибо за помощь , но это не работает :( Я новичок в PHP , когда я нажимаю запись URL-адрес выглядит как HTTP : // локальный /ass/database.php?action=viewrecord%28 {$ row [ – qusai0

+0

Еще раз спасибо Я определил viewrecord как функцию, которая извлекает один аргумент и содержит только одно утверждение echo «привет, это работает»; Когда я нажимаю на выход, URL-адрес выглядит следующим образом: http: //localhost/ass/database.php? Action = viewrecord (6) , но ничего не изменилось в пользовательском интерфейсе Я смущен – qusai0

+0

Вы будете необходимо изменить его на основе того, есть ли строка запроса. Что-то вроде 'if ($ _SERVER [" QUERY_STRING "]) в начале, чтобы убедиться, что у вас есть строка запроса, а затем проверьте, есть ли у вас значение действия и установлено ли значение' viewrecord() 'с' if (! empty ($ _ GET ["action"]) && strpos ($ _ GET ["action"], "viewrecord (")> 0) {} '. – Edwin

0

Установите каждую строку из первых выходных результатов, равных переменный, а затем, если заявление в PHP, который ищет строки в этих переменных, а затем (на каком-то кнопку обновления страницы, так как РНР серверный код) отображает дополнительный контент.

+0

спасибо за ответ – qusai0

+0

Кроме того, я бы использовал эхо вместо печати. Это немного быстрее и считается «нормой». – adamdehaven

+0

Я этого не понимал – qusai0

0

Спасибо за помощь, но это не работает :(Я новичок в PHP, когда я нажимаю запись URL-адрес выглядит как localhost/ass/database.php?action=viewrecord%28{$row[

Это не будет прямой ответ на ваш вопрос Perse но ., так как Youre новой для PHP-им goign, чтобы через него там синтаксис вы uisng делает единороги крик это дает мне головную боль этого нужно просто tryign расшифровать Heres тот же код в качестве альтернативного способа:..

<?php while($row = mysql_fetch_array($rs, MYSQL_ASSOC)): ?> 
    <tr align="center"> 
     <td><?php printf('<a href="database.php?action=%s">%s</a>', url_encode('viewrecord('.$row['pid'].')'), $row['pid']); ?></td> 
     <td><?php echo $row['place']; ?></td> 
     <td><?php echo $row['date']; ?></td> 
     <td><?php echo $row['ppp']; ?></td> 
     <td><input type="button" value="Book"></td> 
    </tr> 
<?php endwhile; ?> 

Однако это database.php?action=viewrecord() меня беспокоит. Я надеюсь, что вы не используете eval для выполнения функции, переданной по URL-адресу. Обычно это выглядит примерно так: database.php?action=viewrecord&id=2. Вы должны убедиться, что параметр action действителен, а затем вызвать функцию, привязанную к этому параметру, которая может быть или не быть фактическим именем функции, и вы должны пройти в параметре id.

Eaxample database.php:

$action = isset($_POST['action']) ? $_POST['action'] : 'index'; 

switch($action) { 
    case 'viewrecord': 
    if(isset($_POST['id']) { 
     viewrecord((integer) $_POST['id']); 
    } 
    break; 
    // a whole bunch of other cases here for other actions 

    default: 
    // the default thing to do if an action is in valid 
} 

// the rest of your processing 
Смежные вопросы