Requête sur plusieurs tables
Et discussion, c'est un attribut de quelle table ?
Les deux ont un champ qui s'appelle "discussion"
dans "forum_messages", il est auto-incrementé mais pas dans "forum_reponses", mon formulaire récupère la valeur du auto-increment et l'attribue au message dans "forum_reponses"
Étranger, si tu aimes programmer en PHP, t'as trouvé ton chemin, mais si t'es lent à dégainer alors,
Les deux ont un champ qui s'appelle "discussion"
>> c'est ptet pour çà que ca merde :)
SELECT * FROM forum_messages, forum_reponses ORDER BY discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'
Là il faut preciser de quelle discussion il s'agit (table forum_messages ou table forum_reponses).
Donc, soit tu fais :
SELECT * FROM forum_messages, forum_reponses ORDER BY forum_messages.discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'
Soit tu fais :
SELECT * FROM forum_messages, forum_reponses ORDER BY forum_reponses.discussion DESC LIMIT '.$limit_init.','.$nombre_par_page.'
SQL est con : si tu ne lui dis pas à quelle table se rapporte l'attribut discution, lui il ne peut pas le deviner.
PS : Ne jamais faire de SELECT *.....
Bon, merci :-)
Je vais essayer ça ce soir...
(Votre site m'est d'une grande aide pour l'écriture de mon script)
Étranger, si tu aimes programmer en PHP, t'as trouvé ton chemin, mais si t'es lent à dégainer alors,
Pourquoi il ne faut jamais faire de SELECT *.... ?
Koboneil
Parce que si un jour tu modifies ta table en ajoutant des attributs, ben tu en selectionneras surement de trop pour certaines requetes.
Et de plus, en ecrivant explicitement le nom de tes attributs, cela te permet de bien "voir" ce que tu selectionnes :)
a j'vais essayer aussi moi c'était exactement pareil que lecritiqueux les 2 champs portaient le même nom!
choupa choupa
mouais je suis pas convaincu : ça ne marche pas :
<?
$sql = 'SELECT titre FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
(mais les 2 table on le champ name!!)
ni ça :
<?
$sql = 'SELECT * FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
faut-il renommer les champs différemment et faire ça? :
<?
$sql = 'SELECT titre, titre2 FROM films, divx WHERE films.description LIKE "%'.$recherche.'%" AND divx.description LIKE "%'.$recherche.'%"';
?>
choupa choupa
Et titre, est ce qu il apparait dans tes deux tables ??
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: