Tilix
Messages postés171Date d'inscriptionsamedi 4 décembre 2004StatutMembreDernière intervention31 août 2009
-
29 mai 2006 à 23:46
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
31 mai 2006 à 00:44
Salut,
Je voudrais optimiser mes requetes, mais j'ai besoin de votre aide.
1ere, j'ai un forum, et sur celui ci, je voudrais y affiché les
informations du membre ayant posté un sujet, sur une autre base de
donnée que le forum :
require ("bdd1.php");
require ("bdd2.php");
$requete = 'SELECT id, createur, sujet, timestamp FROM table_forum WHERE type="1" ORDER BY id DESC LIMIT 0,15';
$query = mysql_query($requete,$bdd1);
while($recupere = mysql_fetch_array($envoi))
{
$select_membre 'SELECT pseudo, prenom, age FROM table_membre WHERE id "'.$recupere['createur'].'"';
echo'Topic créer par : '.$recupere_membre['pseudo'].' prénomé '.$recupere_membre['prenom'].' agé de '.$recupere_membre['age'].' le '.$recupere['timestamp'].'
';
>> Celà fait 16 requetes, qui fait quand même beaucoup ^^
2eme, faire un regroupement de requetes... :
$insert1 = 'INSERT INTO Table1 (id) VALUES ("1")';
$insert2 = 'INSERT INTO Table2 (pseudo) VALUES ("patapouf")';$delete 'DELETE FROM Table3 WHERE id "5"';
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 30 mai 2006 à 04:20
Limaiem heykel,
Bonjour , tu peut utiliser les requetes compose don voici un exemple
SELECT * FROM nom_de_table WHERE id_persone IS (IN ou NOT IN) (SELECT id_xxx FROM table WHERE id=.......)
Tu peut orienter tes requete dans ce sens tu gangnerai bq en rapidite.
Sinon tu peut toujours utiliser les vues c'est aussi une solution quand t'a plusieurs enregistrement et tu veux les traiter separement
sidf
Messages postés1216Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention18 octobre 20125 30 mai 2006 à 09:43
salut
au passage pour info
echo
' Topic créé par : '.$recupere_membre['pseudo'].' prénommé '.$recupere_membre['prenom'].' âgé de '.$recupere_membre['age'].' le '.$recupere['timestamp'].'
';
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20079 30 mai 2006 à 12:57
Salut,
en une seule requête :
$requete = 'SELECT f.id, f.createur, f.sujet, f.timestamp,m.pseudo,m.prenom,m.age FROM table_forum f LEFT JOIN table_membre m ON m.id=f.createur WHERE f.type=1 ORDER BY f.id DESC LIMIT 15'; //attention au limit c'est pas optimisé
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 30 mai 2006 à 23:41
"Ce genre de requetes ne sont possible dans la limite où les 2 tables se situe sur la même base de donnée, ce qui n'est pas le cas ici."
Alors tu ne peux rien faire.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20079 31 mai 2006 à 00:28
Bah si changer de conception, mais bon apparemment c'est bien conçu donc bon non il ne peut rien faire en fait :-( (c'est le vendeur de serveurs qui doit être content)
Tilix
Messages postés171Date d'inscriptionsamedi 4 décembre 2004StatutMembreDernière intervention31 août 2009 31 mai 2006 à 00:40
Et pour la seconde ?
$insert1 = 'INSERT INTO Table1 (id) VALUES ("1")';
$insert2 = 'INSERT INTO Table2 (pseudo) VALUES ("patapouf")';$delete 'DELETE FROM Table3 WHERE id "5"';