2009-07-16 7 views
0

Je suis nouveau ... sur le site et à PHP en général. S'il te plaît, pardonne mon ineptie.Bas niveau variable PHP Passing Question

Quoi qu'il en soit, j'ai essayé d'examiner les messages marqués pour "passer" des "variables", etc. J'ai quelques piqûres, mais pas exactement ce dont j'ai besoin. Malheureusement, j'apprends des choses par ingénierie inverse, alors comme beaucoup, j'ai été en train de voler des extraits de PHP et de m'adapter à mes besoins. Donne d'énormes lacunes dans le processus d'apprentissage que j'ai besoin de remplir.

Quoi qu'il en soit, j'ai une page que j'ai mis ensemble et il tire un tas d'enregistrements bien ordonnés de la DB que j'ai faite. Je les ai afficher comme j'aime utiliser ASC dans la requête.

J'ai la navigation pour filtrer ces résultats par première lettre comme "../name.php?bbname=a" mais en raison de mon incompétence, cela ne fonctionne pas.

Je pense que la méthode que j'ai pour construire la requête peut être trop rigide? J'inclus mon code junky ci-dessous avec des zones commentées pour montrer ce que j'essaie d'obtenir. Je ne sais pas pourquoi j'ai deux requêtes incluses. C'est comme si j'en avais un assis juste "en attente" de l'information transmise. Je suppose que je devrais juste re-travailler la requête originale pour mettre en attente pour les trucs GET encore à mettre ensemble le grand SELECT TOUS

Désolé si ma pose poser des méthodes sont désactivées ... MERCI!

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

Répondre

0

Essayez ceci:

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 ") 
    } 

Au lieu de ce que vous aviez à ce bloc.

+0

Kevin, Merci de travailler avec mon désordre. Presque là. Le bit ELSE fonctionne correctement car la page s'affiche correctement lorsque aucun nom bb n'est spécifié. Une fois que je clique sur un lien, la page s'affiche à nouveau, mais sans résultat. Je soupçonne que quelque chose ne se dirige pas vers le bit% LIKE de la requête? Merci Rob –

+0

Vous devez utiliser des guillemets (') dans la partie LIKE de la requête, au lieu de guillemets droits ('). – BlackAura

+0

Aura, est-ce juste une bonne pratique? En tout cas, je continue à obtenir cela quand j'essaie de passer la variable Erreur fatale: Appel à la fonction indéfinie mysql_real_escape_data() dans /home/myaccount/public_html/sitename/name.php à la ligne 30 –