Impossibile eseguire la query
Allora i problemi sono 2:
1. O la query è sbagliata
2. O non è presente la connessione al database
Per capire se è il primo, fai:
e postami il risultato.Codice PHP:<? include ("config.forum.php");
$sql = "SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, ";
$sql .= ' IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), ';
$sql .= " phpbb_users.username) AS username, ";
$sql .= " phpbb_posts.post_time, phpbb_forums.forum_id, phpbb_topics.topic_id, phpbb_users.user_id, ";
$sql .= " phpbb_posts.post_id, phpbb_posts.poster_id ";
$sql .= "FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts ";
$sql .= "WHERE phpbb_posts.poster_id = phpbb_users.user_id ";
$sql .= " AND phpbb_posts.topic_id = phpbb_topics.topic_id ";
$sql .= " AND phpbb_posts.forum_id = hpbb_posts.topic_id ";
$sql .= " AND phpbb_forums.auth_read <> 2 ";
$sql .= "ORDER BY phpbb_posts.post_time DESC ";
$sql .= "LIMIT 0 , 5";
echo $sql;
//$result = mysql_query($sql, $db);
//while ($row = mysql_fetch_array($result))
//{ echo "$row[username]";
//}
Mi posta il codice nella pagina
SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), phpbb_users.username) AS username, phpbb_posts.post_time, phpbb_forums.forum_id, phpbb_topics.topic_id, phpbb_users.user_id, phpbb_posts.post_id, phpbb_posts.poster_id FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts WHERE phpbb_posts.poster_id = phpbb_users.user_id AND phpbb_posts.topic_id = phpbb_topics.topic_id AND phpbb_posts.forum_id = hpbb_posts.topic_id AND phpbb_forums.auth_read <> 2 ORDER BY phpbb_posts.post_time DESC LIMIT 0 , 5
Grrr! Ma non manca una p?
Versione corretta:Codice PHP:<? include ("config.forum.php");
$sql = "SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, ";
$sql .= ' IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), ';
$sql .= " phpbb_users.username) AS username, ";
$sql .= " phpbb_posts.post_time, phpbb_forums.forum_id, phpbb_topics.topic_id, phpbb_users.user_id, ";
$sql .= " phpbb_posts.post_id, phpbb_posts.poster_id ";
$sql .= "FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts ";
$sql .= "WHERE phpbb_posts.poster_id = phpbb_users.user_id ";
$sql .= " AND phpbb_posts.topic_id = phpbb_topics.topic_id ";
$sql .= " AND phpbb_posts.forum_id = [b]hpbb_posts.topic_id[/b] ";
$sql .= " AND phpbb_forums.auth_read <> 2 ";
$sql .= "ORDER BY phpbb_posts.post_time DESC ";
$sql .= "LIMIT 0 , 5";
Codice PHP:<? include ("config.forum.php");
$sql = "SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, ";
$sql .= ' IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), ';
$sql .= " phpbb_users.username) AS username, ";
$sql .= " phpbb_posts.post_time, phpbb_forums.forum_id, phpbb_topics.topic_id, phpbb_users.user_id, ";
$sql .= " phpbb_posts.post_id, phpbb_posts.poster_id ";
$sql .= "FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts ";
$sql .= "WHERE phpbb_posts.poster_id = phpbb_users.user_id ";
$sql .= " AND phpbb_posts.topic_id = phpbb_topics.topic_id ";
$sql .= " AND phpbb_posts.forum_id = phpbb_posts.topic_id ";
$sql .= " AND phpbb_forums.auth_read <> 2 ";
$sql .= "ORDER BY phpbb_posts.post_time DESC ";
$sql .= "LIMIT 0 , 5";
Avevi ragione!!!!
Adesso mi visualizza l'username!
La cosa strana che me lo visualizza doppio!!!
ossia nella pagina esce
usernameusername
Semplicemente perchè hai solo due record nel database.
Ricordati che l'echo è dentro al ciclo...![]()
Ho capito il perchè mi dava due volte l'user ma il problema è che quando vado a inserire le variabili mi escono i valori uguali per i due record.
Insomma il risultato che ottengo è questo:
TheShowMustGoOn21/10/00a
TheShowMustGoOn21/10/00a
Questo è il codice:
E anche quando vado a cliccare sul link mi da una pagina sbagliata perchè mi raddoppia la directory database!!Codice PHP:<?
include ("config.forum.php");
$sql = "SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, ";
$sql .= ' IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), ';
$sql .= " phpbb_users.username) AS username, ";
$sql .= " phpbb_posts.post_time AS time, ";
$sql .= " phpbb_forums.forum_id AS forum, phpbb_topics.topic_id AS topic, phpbb_users.user_id AS user, ";
$sql .= " phpbb_posts.post_id AS post, phpbb_posts.poster_id AS poster ";
$sql .= "FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts ";
$sql .= "WHERE phpbb_posts.poster_id = phpbb_users.user_id ";
$sql .= " AND phpbb_posts.topic_id = phpbb_topics.topic_id ";
$sql .= " AND phpbb_posts.forum_id = phpbb_posts.topic_id ";
$sql .= " AND phpbb_forums.auth_read <> 2 ";
$sql .= "ORDER BY phpbb_posts.post_time DESC ";
$sql .= "LIMIT 0 , 5";
$result = mysql_query($sql, $db);
while ($row = mysql_fetch_array($result))
{ echo "$row[username]";
echo date('j/n/y', $row[time]);
echo "<a href=database/forum/viewtopic.php?t=$row[topic]>a</a>
";
}
?>
http://localhost/database/database/ forum/viewtopic.php?t=1
Com'è possibile una cosa del genere?
Non ne ho idea...![]()
A me l'interrogazione funziona perfettamente.
[supersaibal]Originariamente inviato da taita
Certo!
Se sei pratico di SQL ti posso postare anche lo schema del database di phpBB. [/supersaibal]codice:$sql = "SELECT phpbb_forums.forum_name, phpbb_topics.topic_title, "; $sql .= ' IF(phpbb_posts.poster_id = -1, IF(phpbb_posts.post_username = "", "Ospite", phpbb_posts.post_username), '; $sql .= " phpbb_users.username) AS username, "; $sql .= " phpbb_posts.post_time, phpbb_forums.forum_id, phpbb_topics.topic_id, phpbb_users.user_id, "; $sql .= " phpbb_posts.post_id, phpbb_posts.poster_id "; $sql .= "FROM phpbb_forums, phpbb_topics, phpbb_users, phpbb_posts "; $sql .= "WHERE phpbb_posts.poster_id = phpbb_users.user_id "; $sql .= " AND phpbb_posts.topic_id = phpbb_topics.topic_id "; $sql .= " AND phpbb_posts.forum_id = phpbb_forums.forum_id "; $sql .= " AND phpbb_forums.auth_read <> 2 "; $sql .= "ORDER BY phpbb_posts.post_time DESC "; $sql .= "LIMIT 0 , 5";
Scusami taita, anche a me interessa questo codice.
Devo inserirlo nella pagina con un include?
Come faccio?
Grazie
Sei capace, in PHP, di fare una semplice interrogazione ad un database MySQL?
Quella che vedi è la query che devi usare.![]()