2013-09-02 3 views
-5
<?php  

$button=$_GET['submit']; 
$search=$_GET['search']; 

if(!$search) 
    echo "you did not enter a HAWB."; 
else 
{ 
     if(strlen($search)<=2) 
      echo "Search term too short"; 
     else 
      echo "You searched for <b> $search </b> <hr size='1'>"; 

      mysql_connect("localhost","root","") or die ("cannot connect"); 
      mysql_select_db("trip"); 

      $search_exploded=explode("",$search); 
      $x=0; 
      $construct=""; 
      foreach($search_exploded as $search_each) 
        { 
          $x++; 
          if ($x==1) 
           $construct="keywords LIKE '%search_each%'"; 
          else 
           $construct="OR keywords LIKE '%search_each%'"; 
        } 
      $construct="Select * from trip where $construct"; 
      $run=mysql_query($construct); 

      $foundnum=mysql_num_rows($run); 

      if($foundnum==0) 
      ` echo "No results found"; 
      else 
      { 
       echo "$foundnum results found.<p>"; 

       while ($runrows=mysql_fetch_assoc($run); 

       { 

         echo "<table border='1'> 
         <tr> 
         <th>TYPE</th> 
         <th>HAWB</th> 
         <th>DATE</th> 
         <th>TIME</th> 
         <th>PLATE NO.</th> 
         <th>NO. OF PIECES</th> 
         <th>CARGO MARSHAL</th> 
         <th>BY</th> 
         <th>REMARKS 1</th> 
         <th>REMARKS 2</th> 
         </tr>"; 
         echo "<tr>"; 
         echo "<td>" . $row['Type'] . "</td>"; 
         echo "<td>" . $row['HAWB'] . "</td>"; 
         echo "<td>" . $row['Date'] . "</td>"; 
         echo "<td>" . $row['Time'] . "</td>"; 
         echo "<td>" . $row['Plate_no'] . "</td>"; 
         echo "<td>" . $row['Pcs'] . "</td>"; 
         echo "<td>" . $row['Cargo_Marshal'] . "</td>"; 
         echo "<td>" . $row['By'] . "</td>"; 
         echo "<td>" . $row['Remarks1'] . "</td>"; 
         echo "<td>" . $row['Remarks2'] . "</td>"; 
         echo "</tr>"; 
          } 
         echo "</table>"; 
       } 
      } 
    } 
?> //code formatted 
+1

добавление некоторого текста в тело вашего вопроса, объяснение кода и представление фактического сообщения об ошибке вызовет у вас вопрос с более высоким рейтингом. Поскольку это стоит, это плохо структурированный вопрос. – mdoran3844

+0

Это не читаемо. Используйте тег кода – Casey

+0

Используйте достойную ** IDE ** с подсветкой синтаксиса и сделайте слово лучше. –

ответ

1
foreach($search_exploded as $search_each) 
{ 
    $x++; 
    if ($x==1) 
     $construct="keywords LIKE '%search_each%'"; 
    else 
     $construct="OR keywords LIKE '%search_each%'"; 
} 

Вы забыли $ знак на search_each

foreach($search_exploded as $search_each) 
{ 
    $x++; 
    if ($x==1) 
     $construct="keywords LIKE '%$search_each%'"; //you might have to escape the statement 
    else 
     $construct="OR keywords LIKE '%$search_each%'"; 
} 

Кроме того, пожалуйста, помните о вашем горизонтальном правило, чтобы закрыть тег. <hr /> не <hr>

1

Если это новый скрипт, который вы пишете, я настоятельно рекомендую перейти на MySQLi вместо MySQL, поскольку он теперь устарел!

Ваш код крайне неряшлив! Уделите больше времени при написании кода и использовании достойной среды IDE!

Начнём здесь

$construct=""; 
     foreach($search_exploded as $search_each) 
       { 
         $x++; 
         if ($x==1) { 
          $construct="keywords LIKE '%search_each%'"; 
         } 
         else { 
          $construct="OR keywords LIKE '%search_each%'"; 
         } 
       } 
     $construct="SELECT * FROM trip WHERE $construct"; 

Почему вы определении $ построить утратившим затем сразу же делать если/другое? Вы также сделать запрос для чтения в вашем остальное как SELECT * FROM trip WHERE OR keywords LIKE.. лично я понятия не имею, что вы пытаетесь достичь там

%search_each% 

Должен ли быть

%$search_each% 

И лично если/другое переменные не должны быть $construct, но что-то вроде $condition

в строке 33 вы имеете бездомную `

while ($runrows=mysql_fetch_assoc($run); 

      { 

НЕ должен иметь ;

Вы открываете таблицу ВНУТРИ, а потом закрыть его за пределами Это должно быть

{ 


    echo "$foundnum results found.<p>"; 
echo "<table border='1'> 
         <tr> 
         <th>TYPE</th> 
         <th>HAWB</th> 
         <th>DATE</th> 
         <th>TIME</th> 
         <th>PLATE NO.</th> 
         <th>NO. OF PIECES</th> 
         <th>CARGO MARSHAL</th> 
         <th>BY</th> 
         <th>REMARKS 1</th> 
         <th>REMARKS 2</th> 
         </tr>"; 
       while ($runrows=mysql_fetch_assoc($run) 
      { 


        echo "<tr>"; 
        echo "<td>" . $row['Type'] . "</td>"; 
        echo "<td>" . $row['HAWB'] . "</td>"; 
        echo "<td>" . $row['Date'] . "</td>"; 
        echo "<td>" . $row['Time'] . "</td>"; 
        echo "<td>" . $row['Plate_no'] . "</td>"; 
        echo "<td>" . $row['Pcs'] . "</td>"; 
        echo "<td>" . $row['Cargo_Marshal'] . "</td>"; 
        echo "<td>" . $row['By'] . "</td>"; 
        echo "<td>" . $row['Remarks1'] . "</td>"; 
        echo "<td>" . $row['Remarks2'] . "</td>"; 
        echo "</tr>"; 
         } 
        echo "</table>"; 
      } 

У вас также есть множество недостающих { } брекетов!

Первоначально я собирался переписать в mysqli, но я думаю, что это то, чему вам нужно учиться, делая сами.

EDIT !!!: Вы должны очистить (strip html/tags) НИЧЕГО, вы получаете от введенной пользователем формы!