2013-07-24 5 views
-1

Спасибо всем за ваши ответы. Это было тяжело. Я изменил орфографию, и теперь она работает - она ​​отображает записи для учетной записи конкретного пользователя. Проблема в том, что он не выполняет запрос, но я создам новый вопрос для этого, чтобы избежать путаницы.Выберите из запроса WHERE

БЛАГОДАРЯ РАЗ КАЖДЫЙ ЗА ПОМОЩЬ :)


Я полностью самодельный в этой области, и в тот момент, что-то не работает, я не знаю, где даже смотреть. Мне было интересно, может ли кто-нибудь определить, что делает этот код неработоспособным.

На данный момент у меня есть очень простой запрос, когда пользователи моего сайта могут видеть сводку истории счетов в таблице. Я бы хотел, чтобы они могли щелкнуть по строке, чтобы отобразить полный счет, но этого не происходит. Я взял код, который может сделать такой запрос, но в тот момент, когда я добавляю, где uid = 'и paid = Y, перестают работать.

Это код. Кто-нибудь может заметить ошибку?

Спасибо !!! Эжени

<?php 

include("mainfile.php"); 
include(XOOPS_ROOT_PATH."/header.php"); 


$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="db name"; // Database name 
$tbl_name="tbl name"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$Sql=$Sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 


$result=mysql_query($sql); 
?> 

<table width="400" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<td> 
<table width="400" border="1" cellspacing="0" cellpadding="3"> 
<tr> 
<td colspan="4"><strong>List data from mysql </strong> </td> 
</tr> 

<tr> 
<td align="center"><strong>Billing Date</strong></td> 
<td align="center"><strong>Invoice Number</strong></td> 
<td align="center"><strong>Description</strong></td> 
<td align="center"><strong>Total GBP</strong></td> 
<td align="center"><strong>View</strong></td> 
</tr> 

<?php 
while($rows=mysql_fetch_array($result)){ 
?> 

<tr> 
<td><? echo $rows['date']; ?></td> 
<td><? echo $rows['TicketID']; ?></td> 
<td><? echo $rows['project']; ?></td> 
<td><? echo $rows['grandTotal']; ?></td> 


<td align="center"><a href="http://website.co.uk/site/viewInvoice.php?TicketID=<? echo  $rows['TicketID']; ?>">View</a></td> 
</tr> 

<?php 
} 
?> 

</table> 
</td> 
</tr> 
</table> 

<?php 
mysql_close(); 
include(XOOPS_ROOT_PATH."/footer.php"); 
?>  
+0

Редактировать это: '$ ссылке = mysql_connect ($ хозяин, $ имя пользователя, $ пароль); mysql_select_db ($ db_name, $ link) или die («не может выбрать DB»); ' –

+0

Nice one !! Он сделал это. спасибо :)) – Eugenie

ответ

3

В PHP переменные чувствительны к регистру. Вы используете $ sql, затем $ Sql.

Try:

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$sql = $sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 
+1

Хороший улов !!!!! – paxdiablo

1

Вы можете непосредственно добавить как

$Sql = "SELECT * FROM $tbl_name WHERE uid='" .$xoopsUser->uid("s") . "' AND Paid='Y'"; 

и ее проблемы с переменной, которую вы используете .Try это

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$Sql=$sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 

Используйте маленький 's'

0

Что Гаутама сказал, но также, как комментарий к тому, что вы пытаетесь сделать: вы кладете

$Sql = $Sql . 'blah blah blah'; 

вместо

$Sql = $sql . 'stuff' 

который была исходной переменной для вашего запроса. В любом случае, имеет смысл просто вставить его в одну переменную сразу.

0

Редактировать и Попробуйте это:

$link = mysql_connect($host, $username, $password); 
mysql_select_db($db_name,$link)or die("cannot select DB"); 

&

$sql="SELECT * FROM $tbl_name WHERE uid='".$xoopsUser->uid('s')."' AND Paid='Y'"; 
Смежные вопросы