2012-05-08 70 views
0

我有一個像「Doctor and Surgical」這樣的變量,我從Mysql數據庫中獲取這個值並將其存儲在一個變量中。當我贊同這個變量它給了我唯一的「醫生」 誰能告訴我怎麼可以採取從MySQL中檢索作爲一個完整的變量上述值...從MySQL獲取PHP變量時發生的問題

編輯

請在下面找到

代碼
query.php 
<form action="process.php" method="post"> 
<select name="cat"> 
<?php 
$sql="select distinct Category from tbl_1 order by Category asc"; 
$query=mysql_query($sql); 

while($row=mysql_fetch_array($query)) 
{ 

echo "<option value=".$row[Category].">".$row[Category]."</option>"; 
} 
?> 
</select> 
<select name="station"> 
<?php 
$sql_1="select distinct Station from tbl_1 order by Station asc"; 
$query_1=mysql_query($sql_1); 

while($row=mysql_fetch_array($query_1)) 
{ 

echo "<option value=".$row[Station].">".$row[Station]."</option>"; 
} 
?> 
</select> 
<input name="C" type="submit" /> 
</form> 



process.php 

$myValue =$_POST['cat']; 
$myStation=$_POST['station']; 

echo $myValue; 
echo "<br/>"; 
echo $myStation; 

$mySqlStm ="SELECT Name FROM tbl_1 WHERE Category='$myValue' and Station='$myStation'"; 

$result2 = mysql_query($mySqlStm) or die("Error:mysql_error()"); 

if(mysql_num_rows($result2) == 0){ 
echo("<br/>no records found"); 
} 
ELSE 
{ 
echo "<table border='1'>"; 

//ECHO THE RECORDS FETCHED 
while($row = mysql_fetch_array($result2)) 
{ 
echo "<tr>"; 

echo "<td>" . $row['Name'] . "</td>"; 
}} 

在這裏,當我回聲$ myvalue的它給了我「醫生」,而不是「醫生和外科醫生」 我需要「醫生和外科醫生作爲一個完整的變量

+4

你能告訴我一些你的代碼嗎? – JakeParis

+1

是啊,你不能指望任何幫助,只是說明 –

+3

請不要投票結束。用戶在這裏顯然是新的,並且需要一些幫助來理解如何提出適當的問題。 @ user501582請提供您遇到問題的代碼。 – Sampson

回答

2

您需要正確引用值:

echo "<option value='".$row[Category]."'>".$row[Category]."</option>"; 

以您目前的代碼,如果你看看源,你可能會看到這樣的事情:

<option value=Some Category>Some Category</option> 

但適當的報價,你會看到正確的值。

+1

在我看來,'echo'';'更清晰。 – JakeParis

+0

@JMCCreative它工作:)謝謝我不明白在PHP中的引用。我對語言非常陌生...謝謝 – user501582

+1

如果有效,請不要忘記打勾Reza的回答:) – Nick

1

您可以使用此,而不必來連接:

echo "<option value='{$row[Category]}'>{$row[Category]}</option>"; 
+0

此代碼的作用太:) – user501582

0

認爲行情就像你會托架或HTML標籤。當你打開一個,你就在裏面,直到你關閉它。在這種情況下,您需要引號來告訴php要回顯的內容以及將爲html屬性打印的不同引號。使用PHP echo命令的單引號和HTML代碼的雙引號通常更容易。然後.只是意味着將一堆東西縫合在一起,而不必連續放置十次echo命令。所以,當你有這樣的:

echo '<option value="'.$row[Category].'">'.$row[Category].'</option>'; 

你可以打破它,像這樣(只爲你的頭腦清晰,實際上沒有這個代碼):

echo 
    '<option value=" ' 
    . 
    $row[Category] 
    . 
    ' "> ' 
    . 
    $row[Category] 
    . 
    '</option>' 
; 
0

使用單引號&只需投保值$ row ['Category'] 試試看: echo「」。$ row ['Category']。「」;