2009-07-16 8 views
0

Ich bin neu ... auf der Website und PHP im Allgemeinen. Bitte vergib meine Unfähigkeit.Low Level PHP Variable Passing Frage

Wie auch immer, ich habe versucht, über die getaggten Beiträge für "Weitergabe" "Variablen" etc. Haben einige Bisse, aber nicht genau das, was ich brauche. Leider lerne ich Dinge durch Reverse Engineering, so wie viele andere, bin ich dabei gewesen, PHP-Schnipsel zu stehlen und mich an meine Bedürfnisse anzupassen. Für einige große Lücken im Lernprozess, die ich ausfüllen muss.

Wie auch immer, ich habe eine Seite, die ich zusammen und es zieht eine Reihe von schön geordneten Aufzeichnungen aus der DB, die ich gemacht habe. Ich lasse sie so anzeigen, wie ich ASC in der Abfrage verwende.

Ich habe Navigation, um diese Ergebnisse nach dem ersten Buchstaben wie "../name.php?bbname=a" zu filtern, aber aufgrund meiner Inkompetenz funktioniert es nicht.

Ich denke, die Methode, die ich für den Aufbau der Abfrage habe, kann zu unflexibel sein ?? Ich füge meinen Junky-Code unten mit auskommentierten Bereichen ein, um zu zeigen, worauf ich hinaus will. Ich weiß nicht, warum ich zwei Fragen habe. Es ist, als hätte ich einen, der nur auf die übergebenen Informationen "wartet". Ich nehme an, dass ich die ursprüngliche Frage nur neu bearbeiten sollte, um auf das GET-Material zu warten, um noch das große WÄHLEN ALLE

Entschuldigen Sie, wenn meine Frage, die Methoden aufwerfen, weg sind ... DANKE!

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

Antwort

0

Versuchen Sie folgendes:

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

Statt dessen, was Sie in diesem Block hatte.

+0

Kevin, Danke für die Arbeit mit meinem Chaos. Fast dort. Das ELSE-Bit funktioniert gut, da die Seite OK anzeigt, wenn kein bbname angegeben ist. Sobald ich auf einen Link klicke, wird die Seite erneut gerendert, aber ohne Ergebnisse. Ich vermute, dass etwas nicht zum LIKE% -Bit der Abfrage gelangt? Thanks Rob –

+0

Sie sollten Backticks (') im LIKE-Teil der Abfrage anstelle von geraden Anführungszeichen (') verwenden. – BlackAura

+0

Aura, ist das nur eine gute Praxis Maßnahme? In anycase, halte ich das immer, wenn ich die Variable Fatal error vorbei versuchen: Call to undefined function mysql_real_escape_data() in /home/myaccount/public_html/sitename/name.php auf der Leitung 30 –