Comment le nombre total des numéros identiques apparus deux fois de suite
Fermé
zack77
Messages postés
25
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
6 décembre 2020
-
Modifié le 23 janv. 2019 à 10:01
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 - 23 janv. 2019 à 23:06
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 - 23 janv. 2019 à 23:06
A voir également:
- Comment le nombre total des numéros identiques apparus deux fois de suite
- Site paiement plusieur fois carte nickel forum - Forum Consommation & Internet
- Whatsapp 2 numéros - Guide
- Total adblock avis - Forum Windows
- Total uninstall - Télécharger - Divers Utilitaires
- Le nombre de tentatives de déverrouillage incorrectes est trop élevé samsung ✓ - Forum Samsung
2 réponses
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
23 janv. 2019 à 10:25
23 janv. 2019 à 10:25
Bonjour,
Déjà, pour coller son code sur le forum, merci d'utiliser les BALISES DE CODE.
Explications disponibles ici. https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, je t'invite à lire ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et enfin ,
je pense que si tu retravailles un peu l'array contenant les données, cela facilitera ensuite la recherche que tu souhaites mettre en place.
Donc maintenant tu as deux array
Un contenant la liste des numéros et à quelles dates il sont sorti
et un array contenant la liste des dates.
Cela devrait être assez simplet de boucler sur le premier et de vérifier avec le second si les dates se suivent ou non..
Déjà, pour coller son code sur le forum, merci d'utiliser les BALISES DE CODE.
Explications disponibles ici. https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, je t'invite à lire ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et enfin ,
je pense que si tu retravailles un peu l'array contenant les données, cela facilitera ensuite la recherche que tu souhaites mettre en place.
<?php //--------------------------------------------------------------------------// //Affichage des erreurs PHP //--------------------------------------------------------------------------// error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //--------------------------------------------------------------------------// //Récupération des numéros dans la bdd //--------------------------------------------------------------------------// //préparation de la requête $sql = "SELECT * FROM tablenumber"; //Execution de la requete try{ $requete = $base-> prepare($sql) ; $requete->execute() ; $arrNum = $requete->fetchAll(); //on stocke le resultat dans un array }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); } //--------------------------------------------------------------------------// // On retravaille la liste des numéros.. //--------------------------------------------------------------------------// $arr_numeros = array(); $arr_dates = array(); foreach ($arrNum as $R){ $date = $R['date']; $arr_dates[$date] = $date; //on récupère le contenu des champs field1... field5 for($i = 1; $i<=5;$i++){ if(!empty($R['field'.$i])){ $arr_numeros[$R['field'.$i]][]=$date; } } } ksort($arr_numeros); //on re trie le tableau dans l'ordre... ksort($arr_dates); //on re trie le tableau dans l'ordre... //Affichage du tableau echo "<pre> Numéros <br>"; print_r($arr_numeros); echo "</pre>"; echo "<pre> Dates des tirages<br>"; print_r($arr_dates); echo "</pre>"; ?>
Donc maintenant tu as deux array
Un contenant la liste des numéros et à quelles dates il sont sorti
et un array contenant la liste des dates.
Cela devrait être assez simplet de boucler sur le premier et de vérifier avec le second si les dates se suivent ou non..
zack77
Messages postés
25
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
6 décembre 2020
23 janv. 2019 à 22:51
23 janv. 2019 à 22:51
<?php //base de données $base = new PDO('mysql:dbname=stat_numero;host=localhost;charset=utf8', 'root', ''); $base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $base->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); ?> <center><table border="1" cellpadding="1" cellspacing="1" style="width:500px"><tbody> <tr> <td><span style="color:#FF0000"><strong>N°</td> <td><span style="color:#FF0000"><strong> Numéros </td> </tr><?php $i=1;$nbr=0; while ($i<51) { $req1=$base->query("SELECT * FROM `tablenumber` WHERE `n1`='$i' or `n2`='$i' or `n3`='$i' or `n4`='$i' or `n5` ='$i' order by date asc"); while($affiche = $req1->fetch(PDO::FETCH_BOTH)) { $req=$base->query("SELECT num, n1, n2,n3,n4,n5,date FROM `tablenumber` WHERE `date`>'".$affiche['date']."' ORDER BY date asc limit 0,1"); $result = $req->fetch(PDO::FETCH_BOTH); if($result['n1']==$i or $result['n2']==$i or $result['n3']==$i or $result['n4']==$i or $result['n5']==$i) { $nbr++; //print_r($result);echo "".$affiche['date']."<br>"; } } ?><tr> <td> <?php echo" <font color='blue'>$i</font> "?> </td> <td> <?php echo $nbr ?></td> <tr><?php $i++;$nbr=0; } ?> </tbody></table>
mon script affiche le résultat souhaite, mais il fait trop de calcul inutile, je souhaite le simplifier merci.
23 janv. 2019 à 22:43
J'ai eu le message d'erreur suivant :
Warning: Illegal string offset 'date' in C:\wamp\www\pdo_url_rewrite\seeupdatedelete\new5.php on line 79
Moi je souhaite afficher le nombre total des numéros qui sont enregistrés deux fois de suite par date.
Par exemple si le numéro 1 est présent dans les enregistrement 01 et le 02 puis le 7 et le 8 puis le 20 et le 21
Je souhaite que mon script affiche que le 1 est enregistré 3 deux fois de suite.
23 janv. 2019 à 23:06
Si tu as eu un message d'erreur.. c'est que tu as modifié quelquechose dans ta bdd ou que tu as mal copié le code que je t'ai donné.
J'ai bien compris que ton code donne le resultat obtenu.. mais qu'il est trop lent... et que tu veux l'améliorer.
Je t'ai donc donné une base de travail.... mais ne t'attends pas à ce que je fasse le boulot à ta place.