2014-10-03 3 views
-3

Я извлекаю значение из базы данных и добавляю его в тег <a>, используя PHP. Когда я нажимаю такую ​​ссылку, я могу ясно видеть, что есть только статическая часть в свой атрибут href и добавлена ​​переменная.Переменная, добавленная к ссылке, пуста

Например, я хочу www.domain.com/client?client=SLCH12345678 URL, где SLCH12345678 взято из базы данных (переменная величина), но все, я получаю, составляет www.domain.com/client?client=.

Это мой код:

$query = "SELECT customer_ref, f_name, l_name FROM client_details WHERE ".$searchtype." LIKE '%".$searchterm."%'"; 
$result = $db->query($query); 

$customer_ref = $query['customer_ref']; 
$num_results = $result->num_rows; 

echo "<p>Number of clients found: ".$num_results."</p>"; 

for ($i=0; $i <$num_results; $i++) 
{ 
    $row = $result->fetch_assoc(); 
    echo "<p><strong>".($i+1).". Name: "; 
    echo "<a href='client.php?client=$customer_ref'>"; 
    echo htmlspecialchars(stripslashes($row['f_name'])); 
    echo "&nbsp;"; 
    echo htmlspecialchars(stripslashes($row['l_name'])); 
    echo "</a></strong>"; 
    echo "<br/>Address: "; 
} 

Что я делаю неправильно?

+0

'stripslashes' <- wth? (База данных уже содержит мусор, если это вообще актуально.) – user2864740

+0

так что если $ query - это строка, как вы можете обращаться к элементам в ней, как к ее ассоциативному массиву? – Rooster

+0

yer $ query ['customer_ref']; пуст, но в базе данных есть ссылка клиента, и извините, что представляет собой функция анализа результатов запроса i new для php и все еще изучает все подобные вещи. –

ответ

0

Вы ничего не получаете, вы просто спрашиваете. Вы отметили mysqli, поэтому давайте сделаем это с mysqli.

$result = $db->query($query); 
$query = $result->fetch_assoc(); 

http://php.net/manual/en/mysqli-result.fetch-assoc.php

Вы бы затем цикл через каждый набор результатов.

$query = "SELECT customer_ref, f_name, l_name FROM client_details WHERE ".$searchtype." LIKE '%".$searchterm."%'"; 
$result = $db->query($query); 

echo "<p>Number of clients found: ". $result->num_rows ."</p>"; 
$i = 1; 
while($row = $result->fetch_assoc()) { 
    echo "<p><strong>".($i).". Name: "; 
    echo "<a href='client.php?client=". $row['customer_ref'] ."'>"; 
    echo htmlspecialchars(stripslashes($row['f_name'])); 
    echo "&nbsp;"; 
    echo htmlspecialchars(stripslashes($row['l_name'])); 
    echo "</a></strong>"; 
    echo "<br/>Address: "; 
    $i++; 
} 
+0

, так что я бы просто положил в $ query = $ result-> fetch_assoc(); и этот отдых должен упасть на этот код –

+0

Да, если '$ db' содержит объект' mysqli'. –

+0

Я думаю, что это действительно так, я думаю, что у меня, возможно, есть прыжок между mysql и mysqli. –

Смежные вопросы