2012-05-14 51 views
0

我有一個表,其中包括16個車名。如果在數據庫中找到汽車名稱,我想更改字體顏色和大小。檢查名稱是否在數據庫中?

這是我的表:

enter image description here

,這是我的第三款車的PHP代碼:

<?php 
$connection = mysql_connect($host,$user,$password); 
if (!$connection){ 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("cars", $connection); 

$carname="car"; 
$squery = mysql_query("SELECT * FROM marks WHERE care_name=$car_name "); 
echo"<div class='cars'>"; 
if(mysql_fetch_array($squery)) { 
    echo"<r><strong>". $row['car1'] ."<strong></r>"; 
} 
else{ 
    echo"<p>". $row['car1'] ."</p>"; 
} 
echo"</div>"; 

echo"<div class='cars'>"; 
if(mysql_fetch_array($squery)) { 
    echo"<r><strong>". $row['car2'] ."<strong></r>"; 
} 
else{ 
    echo"<p>". $row['car2'] ."</p>"; 
} 
echo"</div>"; 

echo"<div class='cars'>"; 
if(mysql_fetch_array($squery)) { 
    echo"<r><strong>". $row['car3'] ."<strong></r>"; 
} 
else{ 
    echo"<p>". $row['car3'] ."</p>"; 
} 
echo"</div>"; 

?> 

然而,這不工作,只在使第一輛車(car1)。

+0

'$ car_name'應該來自? – deceze

+0

$ carname =「car」; – Misia

+0

對不起,我只是問。這些拼寫錯誤是故意的嗎? –

回答

2

您正在使用諸如$ row之類的變量,而未先爲其分配值。 您需要將返回值從mysql_fetch_array保存到$row變量中,例如

$row = mysql_fetch_array($squery); 
if($row){ 
... 
} 

編輯:在您的代碼的進一步檢查,它包含多個基本的錯誤,如使用不給出一個值的變量

  • ;
  • 您每次從$行訪問汽車時都使用不同的名稱(至少在
    我希望這是一個編碼錯誤,而不是您的數據庫表中有16列 ,每個汽車一個......) ;
  • 如果mysql_fetch_array失敗了,你還是嘗試打印內容
  • 您使用的是循環

每一個人mysql_fetch_array而不是 編寫代碼,並有可能是其他許多人。在我們可以進一步提供幫助之前,您確實需要提高對編碼實踐(以及可能的數據庫)的基本理解,因爲這裏有太多的基本錯誤,顯示對您正在嘗試執行的操作缺乏瞭解

+0

謝謝你的幫助。其實我只有一列。而且我是初學者,所以你是對的,我必須提高我的編碼技巧!但我需要儘可能快地完成這些代碼。 你能告訴我怎麼做一個循環,或者如何做這個編碼?我將不勝感激:) – Misia

+0

恐怕我無法在評論中教你編碼的基礎知識!我認爲這是你正在做的一門課程,所以你將有課程材料來涵蓋這些主題。您還將找到關於PHP,SQL和您正在使用的任何數據庫的教程(MySQL我假設)。 – FluffyKitten

+0

我的代碼通常會起作用,因爲它會改變寶馬的字體顏色和字體大小,如果我插入任何這些汽車標記?如果我插入第二個汽車標記例如Sab,它會改變Tyota的字體? – Misia