Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Переход с нужными параметрами по "id"
 
 автор: DeadDay   (29.10.2013 в 09:03)   письмо автору
 
 

Всем привет. Делаю свой проект и столкнулся с одной проблемой. Если кто сможет, помогите пожалуйста. Суть вот в чём:

1. У меня есть БД с таблицей “tabl1”, в ней примерно 10 записей. У каждого свой “id”. Записи постоянно добавляются.

2. На страницы “index.php” я вывожу эти записи, вот так:

<?php
                $result 
mysql_query ("SELECT * FROM tabl1 WHERE p1 = '1'") or die (mysql_error());
                
$data mysql_fetch_array ($result);
                do {
                
printf ('
                <div align="center">
                 <p><span class="c_1">Название:</span> %s| <span class="с_1">Производитель:</span> %s | <a href="view.php?id=%s" class="col_e"> Описание</a> | <span class="с_1"></span>Ток: %s</p>
                 <a href="new.php?id=%s" class="sras"> Полностью </a>
                <div style="clear: both;"></div>
                </div>
                '
,$data["name"],$data["proi"],$data["id"],$data["tokc"],$data["id"]);
                echo 
"<br>";
                }
                while (
$data mysql_fetch_array ($result));
            
                
?>


3. При нажали на ссылку Полностью (<a href="new.php?id=%s" class="sras"> Полностью </a>), должен перейти на другую страницу (new.php).

4. На этой страницы должна вывестись информация связанная с этим параметром: p1 = '1'. Делаю это вот так:


<?php   
     
if(!isset($_GET["id"]))
                {
                
$id 1;
                }
                else
                {
                
$id $_GET["id"];
                }
        
        
$sql2 mysql_query("SELECT * FROM tabl1 WHERE p1 = '$id'") or die (mysql_error()); 
          
$result2 =  mysql_fetch_array ($sql2) or die (mysql_error()); 
          
              do {
                
printf ('
                
<div align="left" class="m_menu">
<li>Название: <span class="text_2">%s</span> \ <span class="text_2">%s</span></li>
<li>Производитель: <span class="text_2">%s</span></li>
<li>Ток: <span class="text_2">%s</span></li>
</div>

                <div style="clear: both;"></div>
                '
,$data["name"],$data["proi"],$data["tokc "]);
                echo 
"<br>";
                }
                while (
$data mysql_fetch_array ($result));
            
        
        
?>


5. Выводится только вот это:

<div align="left" class="m_menu">
<li>Название: <span class="text_2">%s</span> \ <span class="text_2">%s</span></li>
<li>Производитель: <span class="text_2">%s</span></li>
<li>Ток: <span class="text_2">%s</span></li>
</div>


А значений ни каких нет.

Вообщем, мне надо сделать переход по ссылки с определённым “id” и на той страницы отобразилась инфа для этого “id”. Перешёл по другой ссылки, инфа соответственно для него.

Заранее спасибо!

  Ответить  
 
 автор: confirm   (29.10.2013 в 12:42)   письмо автору
 
   для: DeadDay   (29.10.2013 в 09:03)
 

<?
$select 
= isset($_GET['id']) && ($id = (int)$_GET['id']) ? 'WHERE p1='.$id null;
if(
$q mysql_query ('SELECT * FROM tabl1 '.$select)) {
    if(
mysql_num_rows($q)) { //если действительно есть записи в таблице
        //и цикл, это если действительно не одна запись может быть, иначе цикл не нужен
        //но не do ... while с printf
        //и тем более зачем Производитель и Полностью если обращение к одному и тому же?
        
$s '<div style="width:500px;margin:0 auto">'//а лучше через class, но не align="center", и если этот элемент содержит параграфы, зачем его повторять?
        //<div style="clear: both;"></div> - это и <br> для чего?
        
while($r mysql_fetch_assoc($q)) $s .= '<p><span class="c_1">Название:</span>' htmlspecialchars($r['name']) . ' |
                                                 <span class="с_1">Производитель:</span>' 
htmlspecialchars($r['proi']) . ' |
                                                 <a href="view.php?id=' 
.$r['id']. '" class="col_e"> Описание</a> | 
                                                 <span class="с_1"></span>Ток: ' 
.$r['tokc']. '</p>
                                                 <a href="new.php?id=' 
.$r['id']. '" class="sras"> Полностью </a>';
        echo 
$s '</div>'//вывод с закрытием родителя                                        
    
}  
} exit (
'Ошибка доступа к базе'); //или не выход и продолжение где действия по условию, 
//а or die (mysql_error()); это только для вас во время отладки, но не вываливайте это для пользователя


Остается только вопрос - каким образом у вас можно вывести нечто подробное, если вы запрашиваете одно и тоже? У вас доложен быть либо запрос к другой таблице, в которой подробное содержание, и которая связана с первой таблицей, либо вы должны выбирать для вывода всех записей только id, а при наличии id конкретные поля таблицы содержащие эти подробные сведения.

Иначе какой-то ляпсус у вас.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования