Problème de variables...

Eléphant du PHP | 78 Messages

20 déc. 2007, 11:16

Bon bééé en fait je me suis créé des problème.
$requete_evenement = mysql_query('SELECT * FROM even WHERE nature="A Venir" ORDER BY date ASC LIMIT 0, 5');
while($donnees_evenement = mysql_fetch_assoc($requete_evenement)){

$id = $donnees_evenement['id'];
$type = $donnees_evenement['type'];
$niveau = $donnees_evenement['niveau'];
$style = $donnees_evenement['style'];
$arme = $donnees_evenement['arme'];
$numero = $donnees_evenement['numero'];
$statut = $donnees_evenement['statut'];
//Conversion de la date en FR
$a = substr($donnees_evenement['date'], 0, 4);
$m = substr($donnees_evenement['date'], 5, 2);
$j = substr($donnees_evenement['date'], 8, 2);
$date = $j.'-'.$m.'-'.$a; 

$requete = mysql_query('SELECT * FROM cateven WHERE ideven='.$id); 

$categorie = array();
while ($donnees = mysql_fetch_assoc($requete)) {
  $categorie[] = $donnees['idcat'];

  $cat = implode('-', $categorie);
} 
Ca a l'air de fonctionner. Merci à tous ;)

(et désolé pour le up c'est parceque j'avais édité et je ne savais pas si mon message serait lu)
Morkem

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 déc. 2007, 11:29

Bon bééé en fait je me suis créé des problème.
N'est ce pas ? :P

Sinon une remarque en passant : évite de nommer "date" tes champs date.
MySQL le tolère, mais ça n'en est pas moins un mot clé réservé du langage ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 78 Messages

20 déc. 2007, 12:28

Oui d'accord tant que j'y suis je vais corriger...

Je vais quand même revenir au problème initial :
Je met les résultats de cet évenement. J'envois l'id à la page pour ajouter les resultats.

Ensuite je liste toutes les catégories qui se rapportent à cet évenement.
<?php
$requete = mysql_query('SELECT * FROM cateven WHERE ideven='.$id_even); //On sélectionne les catégorie grâce à l'id
$categorie = array();
while ($donnees = mysql_fetch_assoc($requete)) {
  $categorie[] = $donnees['idcat'];
} 
foreach($categorie as $element)
{
echo $element . '<br />';
}

?>
Bon la j'ai mis un echo pour voir si je récuperais bien ce que je voulais.

Et en fait je voudrais arriver à une requete de ce genre en fait :
mysql_query('SELECT * FROM tireur WHERE cat="'.$element.'" OR cat2="'.$element.'" ORDER BY arme, nom');
Il y a un cat et un cat2 car on peut jouer dans 2 catégories chaque fois. Je veux récuperer les gens qui repondent aux critères de catégories donc.

En fait ma question est de savoir comment faire pour attribuer a chaque $element une variable en sachant que le nombre de catégories disponibles sont égalements variables.
Et ensuite comment "scanner" toutes les eventualités possible.

J'espère que cette fois je ne me pose pas de problème :s Merci pour votre patience.

Edit : Bon bééé il fallait utiliser une jointure... J'ai fini par la trouver :
<?php
$retour = mysql_query('SELECT * FROM cateven c, tireur t WHERE (c.idcat=t.cat OR c.idcat=t.cat2) AND c.ideven='.$id_even.' ORDER BY arme, nom');
?>
J'etais parti sur un script... vala qui clos mon problème ;)
Morkem