[RESOLU] interrogation sql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] interrogation sql

Re: interrogation sql

par moogli » 28 déc. 2012, 15:20

Salut,

1/ as tu une restriction sur la requête ?
2/ $tab est un tableau pourquoi ne pas utiliser foreach ?

Si tu souhaite n'afficher que des infos précise peux être peux tu utiliser une restriction (clause where) sur la requête sql et afficher avec le while ?

Sinon quels sont les critères d'affichage des infos qui se trouve dans $tab ?

Quoi qu'il en soit le foreach est le plus simple pour éviter ce type d'erreur ;)


@i

Re: interrogation sql

par neomega » 28 déc. 2012, 14:52

apparement j'ai trouvé a chaque fois il me faut faire ceci

<?php if (!empty ($tab[3]['url_site'] )){echo $tab[3]['url_site'];}?>

est ce correct ??

ou un isset serait plus conseiller

Re: interrogation sql

par neomega » 28 déc. 2012, 14:14

en faisant ceci la liste des mes $valeur apparait nikel

mais maleureusement ce n'est pas ceci que je veux faire

je veux choisir par apport a "id_emplacement" le champ qui apparait
zone 1 :<br>
<!--ex ici pour l'id_emplacement 1 "$tab[1]" je fait apparaitre son url_site-->
<?php echo $tab[1]['url_site']; ?><br>
zone 2 :<br>
<!--ex ici pour l'id_emplacement 6 "$tab[6]" je fait apparaitre son titre-->
<?php echo $tab[6]['titre']; ?><br>
zone 2 :<br>
et par exemple ici dans ma table sql je n'ai encore rien a cet id_emplacement "3" et c'est la que j'ai une erreur vue qu'il ne la trouve pas car
"encore aucun objet a cet emplacement"
<!--ex ici pour l'id_emplacement 3 "$tab[3]" je fait apparaitre son genre-->
<?php echo $tab[3]['genre']; ?><br> 


Re: interrogation sql

par sirakawa » 28 déc. 2012, 12:03

comprendre foreach
il faut remplacer
print_r($ligne);
//par
print "<br>";print_r($ligne); print "<br>";
//qui doit donner une ligne après une autre  du tableau du genre:
//Array ( [nom] => topaze [passe] => pagnol ) 
et ensuite avec mon exemple:
print_r($ligne);
//par
$valeur = $ligne['nom'];
print "<br />$valeur"; 

Re: interrogation sql

par neomega » 27 déc. 2012, 23:19

dsl de vous embeter encore avec ceci
mai sa ne marche toujour pas

Re: interrogation sql

par sirakawa » 27 déc. 2012, 23:06

Bien sûr, il faut remplacer $ligne par $ligne['champquitinteresse'].

Re: interrogation sql

par neomega » 27 déc. 2012, 22:48

quant je met ceci

j'ai toutes les donnee de ma table qui apparaisse
en non pas seulement les champs que je demande

Re: interrogation sql

par sirakawa » 27 déc. 2012, 22:19

while($data = mysql_fetch_array($req))
{
// Récupération de tes données dans $data
    $tab[$data['emplacement']] = $data;
               
}
foreach ($tab as $ligne)
{
    print_r($ligne); //à toi de voir

}

Re: interrogation sql

par neomega » 27 déc. 2012, 22:14

dsl la je suis totalement perdu


non ce n'est pas un tableau

avec un isset pouvez vous me dire comment faire svp

encore merci

Re: interrogation sql

par sirakawa » 27 déc. 2012, 22:03

il faut un isset par variable; si c'est un tableau par ligne du tableau.
Autre idée:utiliser un foreach
foreach ($tableau as $ligne)
{
print_r($ligne); //à toi de voir
//pas besoin de test, sauf si tu as des lignes du tableau incomplètes
}

Re: interrogation sql

par neomega » 27 déc. 2012, 21:58

mon souci c'est que je ne sais quoi mettre dans le if isset

est ce obliger d'en mettre un a chaque ligne ou est ce possible d'en mettre un general
if(isset($tab[3]['url_site']) && $tab[3]['url_site'] == '' ){ }

Re: interrogation sql

par sirakawa » 27 déc. 2012, 21:38

interrogation sql

par neomega » 27 déc. 2012, 21:29

bonjour,

j'ai ce code ci dessous :
//envoie de la requette qui recupere les info dans les base de donnée
$req = mysql_query("SELECT * FROM location WHERE salle = '$id_salle' AND categorie = '$id_categorie' AND sous_categorie = '$id_sous_categorie'"); 

//commande qui recupére mes données
while($data = mysql_fetch_array($req))
{
// Récupération de tes données dans $data
    $tab[$data['emplacement']] = $data;
		
}
?> 
<center>SALLE <?php echo $id_salle ?></center><br><br>
emplacement 1
<?php echo $tab[1]['url_site']; ?><br>
emplacement 2
<?php echo $tab[3]['url_site']; ?><br>
emplacement 3
<?php echo $tab[6]['url_site']; ?><br>

<?php echo $tab[1]['titre']; ?><br>
emplacement 2
<?php echo $tab[5]['titre']; ?><br>
emplacement 3
<?php echo $tab[9]['titre']; ?><br>

mais si dans ma bdd j'ai rien a : <?php echo $tab[9]['titre']; ?><br> par exemple j'ai l'erreur :

Notice: Undefined offset: 9 in mon_fichier.php on line "ligne de : echo $tab[9]['titre'];"

commen faire pour que si la valeur est nulle ou n'existe pas rien ne ce passe "pas de message d'erreur


merci