2009-07-16 2 views
0

Я новичок ... на сайте и на PHP в целом. Пожалуйста, простите мою неуместность.Низкоуровневая переменная PHP, проходящая вопрос

Во всяком случае, я пробовал просматривать помеченные сообщения для «прохождения» «переменных» и т. Д. Получил некоторые укусы, но не совсем то, что мне нужно. К сожалению, я изучаю вещи с помощью обратной инженерии, поэтому, как и многие, я собираюсь украсть фрагменты PHP и адаптироваться к моим потребностям. Делает для некоторых огромных пробелов в процессе обучения, которые мне нужно заполнить.

Во всяком случае, у меня есть страница, которую я собрал, и она тянет кучу хорошо упорядоченных записей из созданной мной БД. Я им показываю, как мне нравится использовать ASC в запросе.

У меня есть навигация для фильтрации этих результатов с помощью первой буквы типа «../name.php?bbname=a», но из-за моей некомпетентности она не работает.

Я думаю, что метод, который у меня есть для построения запроса, может быть слишком негибким ?? Я включаю код junky ниже с комментариями, чтобы показать, к чему я пытаюсь добраться. Я не знаю, почему у меня есть два вопроса. Это как если бы я сидел там, просто «ожидая» переданной информации. Я предполагаю, что я должен просто переработать исходный запрос, чтобы лежать в ожидании GET-материала, но еще не собрал большой SELECT ALL

Извините, если мои методы постановки вопроса отключены ... СПАСИБО!

<?php include "header.php";?> 
    <?php include "wrap.php";?> 
    <?php include "left.php";?> 
    <div id="content"> 
     <div id="ad728x90"> 
     <?php include "ad728x90.php";?> 
     </div> 
     <?php include "utilplaces.php";?> 
     <h1>Places by Name</h1> 
     <div id="horizon"><a href="?bbname=a">A</a> <a href="?bbname=b">B</a> <a href="?bbname=c">C</a> <a href="?bbname=d">D</a> <a href="?bbname=e">E</a> <a href="?bbname=f">F</a> <a href="?bbname=g">G</a> <a href="?bbname=h">H</a> <a href="?bbname=i">I</a> <a href="?bbname=j">J</a> <a href="?bbname=k">K</a> <a href="?bbname=l">L</a> <a href="?bbname=m">M</a> <a href="?bbname=n">N</a> <a href="?bbname=o">O</a> <a href="?bbname=p">P</a> <a href="?bbname=q">Q</a> <a href="?bbname=r">R</a> <a href="?bbname=s">S</a> <a href="?bbname=t">T</a> <a href="?bbname=u">U</a> <a href="?bbname=v">V</a> <a href="?bbname=w">W</a> <a href="?bbname=x">X</a> <a href="?bbname=y">Y</a> <a href="?bbname=z">Z</a> <a href="?bbname=0">0-9</a></div> 
     <div class="cnp"></div> 
    </div> 
    <div id="biggun"> 

    <?php 
    // Connects to the Database 
    mysql_connect("localhost","user","password") or die(mysql_error()); 

    mysql_select_db("databasename") or die(mysql_error()); 

    // I AM TRYING TO GRAB THE VARIABLES FROM THE URL BUT HAVE NO CLUE 
    $bbname = $_GET['bbname']; 

    // THIS IS THE STANDARD DB QUERY TO SETUP THE PAGE IN DEFAULT LOAD 
    $data = mysql_query("SELECT * FROM places ORDER BY `places`.`name` ASC LIMIT 0, 30 ") 
    or die(mysql_error()); 



    echo "<table id=\"placesstable\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n"; 
    echo " <col id=\"bbNAME\" />\n"; 
    echo " <col id=\"bbIMG\" />\n"; 
    echo " <col id=\"bbDETAILS\" />\n"; 
    echo " <col id=\"bbHOURS\" />\n"; 
    echo " <col id=\"bbTYPE\" />\n"; 
    echo " <col id=\"bplacesEA\" />\n"; 
    echo " <col id=\"bbRATING\" />\n"; 
    echo " <thead>\n"; 
    echo "  <tr>\n"; 
    echo "  <th style=\"border: none;\">Name</th>\n"; 
    echo "  <th>&nbsp;</th>\n"; 
    echo "  <th>Details </th>\n"; 
    echo "  <th>Hours</th>\n"; 
    echo "  <th>Type</th>\n"; 
    echo "  <th>Area</th>\n"; 
    echo "  <th> Rating</th>\n"; 
    echo "  </tr>\n"; 
    echo " </thead>\n"; 
    echo " <tbody>\n"; 
    while($info = mysql_fetch_array($data)) 
    { 
    echo "<tr>"; 
    echo "<td><p class=\"placesnametable\"><a href=\"#\">".$info['name'] . "</a></p></td> "; 
    echo "<td><img src=\"".$info['tmbimg']."\" alt=\"\" name=\"placesthumb\" width=\"100\" height=\"67\" class=\"placesthumb\" /></td> "; 
    echo "<td>".$info['address'] . "<br />\n" .$info['phonenumber'] . "</td>"; 
    echo "<td>".$info['hours'] . "</td> "; 
    echo "<td>".$info['type'] . "</td> "; 
    echo "<td>".$info['district'] . "</td> "; 
    echo "<td>Pending<!--RATING--></td></tr>"; 
    } 
    echo "</tbody>"; 
    echo "</table>"; 

    ?> 
    </div> 
    <?php include "feetie.php";?> 

ответ

0

Попробуйте это:

if(isset($_GET['bbname'])) { 
     $name = mysql_real_escape_string($_GET['bbname']); 
$query = mysql_query("SELECT * FROM places ORDER BY name ASC LIMIT 0,30 WHERE name LIKE '$name'") OR die(mysql_error()); 
    } 
    else { 
     $data = mysql_query("SELECT * FROM places ORDER BY `places`.`name` ASC LIMIT 0, 30 ") 
    } 

Вместо того, что вы имели в этом блоке.

+0

Kevin, Спасибо за работу с моим беспорядком. Почти готово. Бит ELSE отлично работает, поскольку страница отображает ОК, когда не указано имя bbname. Как только я нажму ссылку, страница снова появится, но без результатов. Я подозреваю, что что-то не пробивает бит LIKE% запроса? Thanks Rob –

+0

Вы должны использовать backticks (') в части запроса LIKE вместо прямых кавычек ('). – BlackAura

+0

Аура, это только мера хорошей практики? В любом случае, я продолжаю получать это, когда пытаюсь передать переменную Неустранимая ошибка: вызов неопределенной функции mysql_real_escape_data() в /home/myaccount/public_html/sitename/name.php в строке 30 –

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