2013-03-27 118 views
0

我有一個表的屬性名爲URL,在向此表添加註冊表時,我可以選擇離開該字段NULL或編寫URL。如果我將它留空,我想顯示我創建的網址autoassigned($url)。 如果它不是空的,我想現在顯示註冊表(row URL)的內容,我做了第一部分......我不知道如何做第二部分。php和mysql的問題

$sql="select * from agenda"; 
$result= mysql_query($sql) or die(mysql_error()); 
if(mysql_num_rows($result)==0) die("No hay registros para mostrar"); 
echo "<table border=1 cellpadding=4 cellspacing=0>"; 
echo "<tr> 
<th colspan=5> Agenda </th><tr> 
<th> Categoria </th><th> Evento </th><th> Fecha </th><th> Hora </th><th> Info </th><th> ID  </th>"; 
while($row=mysql_fetch_array($result)) 
{ 
$url= $row[id].".php"; 
echo "<tr> 
<td align='left'> $row[categoria] </td> 
<td> <a href= '$url'> $row[evento] </a> </td> 
<td> $row[fecha] </td> 
<td> $row[hora] </td> 
<td> $row[info] </td> 
<td> $row[id] </td> 
</tr>";   
} 
+1

較短的版本,因爲他們已被棄用,則不應使用'mysql_'功能。使用'mysqli_'代替:) – 2013-03-27 16:17:33

回答

1

如果我正確地得到你那麼這將是您的解決方案......

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

    $url = (($row['url'] == '')|| ($row['url'] == null))?"{$row['id'].php}":$row['url']; 
    echo "<tr> 
    <td align='left'> $row[categoria] </td> 
    <td> <a href= '$url'> $row[evento] </a> </td> 
    <td> $row[fecha] </td> 
    <td> $row[hora] </td> 
    <td> $row[info] </td> 
    <td> $row[id] </td> 
    </tr>";   
} 
+0

哇!感謝您的快速答覆...我試過了,但我不知道爲什麼給我這一行上的sintax錯誤:$ url =(($ row ['url'] =='')||($ row ['url '] == null))?{「$ row ['id']。php」}:$ row ['url']; – 2013-03-27 17:12:11

+0

@MathiasDiMenza hey對不起,這是一個錯字..看到我編輯的帖子.. – alwaysLearn 2013-03-28 05:52:33

1

我不知道什麼是你想得,但如果我猜你需要這個代碼

<?php 
$sql="select * from agenda"; 
$result= mysql_query($sql) or die(mysql_error()); 
if(mysql_num_rows($result)==0) die("No hay registros para mostrar"); 
echo '<table border=1 cellpadding=4 cellspacing=0>'; 
echo '<tr><th colspan=5> Agenda </th><tr><th> Categoria </th><th> Evento </th><th> Fecha </th><th> Hora </th><th> Info </th><th> ID  </th>'; 
while($row = mysql_fetch_array($result)) { 
    $url = (NULL != $row['URL'] && '' != $row['URL']) ? $row['URL'] : ($row['id'].'.php'); 
    echo '<tr>'. 
     '<td align="left">'.$row[categoria].'</td>'. 
     '<td><a href= '.$url.'>'.$row[evento].'</a></td>'. 
     '<td>'.$row[fecha].'</td>'. 
     '<td>'.$row[hora].'</td>'. 
     '<td>'.$row[info].'</td>'. 
     '<td>'.$row[id].'</td>'. 
    '</tr>'; 
}  
?> 

ADD1此外,停止使用mysql_*功能。 已棄用。改爲使用mysqliPDO

ADD2$var = (condition) ? 'val if true' : 'val if false';語法的

if (condition) $var = 'val if true'; 
else $var = 'val if false'; 
+0

非常感謝您的快速響應......我嘗試過這樣的事情,同樣的事情發生......無論如何生病注意你的建議'如果'因爲你可以看到我有一個業餘的這個,而不是我的領域...它是多年以來,我做任何事情在PHP ...謝謝! – 2013-03-27 17:21:00

+0

@MathiasDiMenza,請給出一些關於你想要獲得的信息。你的任務看起來並不複雜,我只需要確定我們在尋找什麼)))) – 2013-03-27 17:23:33

+0

生病再試一次(我不是英語母語,它有時很難表達自己)。我有數據庫數據即時引入手動(categoria,evento,fecha,hora,info,id,url)。有時ulr我把它留空,有時我輸入一個地址...當我離開它的時候,我希望這個url是一個默認的地址,這個地址會根據id而改變(比如www.blabla.com/bla/1.php) (1是id),但是當字段URL(在數據庫中)不是空的時,我不想讓表顯示默認的一個...我想顯示數據庫中的一個。我不知道它是否清楚這樣,但即時嘗試:) – 2013-03-27 19:44:13