PHP - MySQL
Résolu/Fermé
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
-
25 oct. 2021 à 23:24
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 30 oct. 2021 à 09:34
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 30 oct. 2021 à 09:34
A voir également:
- PHP - MySQL
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
- Mysql gratuit ou payant - Forum MySQL
- Bouton php - Forum PHP
11 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
25 oct. 2021 à 23:27
25 oct. 2021 à 23:27
Bonjour
Tu peux t'inspirer de ceci
https://codes-sources.commentcamarche.net/source/100161-php-liste-des-combinaisons-possibles-somme
.
Tu peux t'inspirer de ceci
https://codes-sources.commentcamarche.net/source/100161-php-liste-des-combinaisons-possibles-somme
.
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
26 oct. 2021 à 00:37
26 oct. 2021 à 00:37
Bonsoir,
Merci beaucoup Jordane,
C'est presque la même chose sauf que je n'ai malheureusement pas pu l'adapter :(
Merci beaucoup Jordane,
C'est presque la même chose sauf que je n'ai malheureusement pas pu l'adapter :(
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
26 oct. 2021 à 06:56
26 oct. 2021 à 06:56
Et bien... Qu'as tu essayé ?
Si tu ne nous montres pas ton code... Impossible pour nous de t'aider à le corriger..
Nb: pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications à lire entièrement, disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Si tu ne nous montres pas ton code... Impossible pour nous de t'aider à le corriger..
Nb: pour poster ton code sur le forum, tu devras utiliser les balises de code.
Explications à lire entièrement, disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
26 oct. 2021 à 09:47
26 oct. 2021 à 09:47
Voici ce que j'ai pu trouver. Dans mon cas je n'ai pas besoin de la somme, je n'ai besoin que des combinison, j'ai essayé toute la nuit mais rien :(
<html> <head><title> Combinaisons </title> <body> <?php //Exemple sur le tableau suivant : $arr = array('A', 'B','C','D'); // compte le nombre d'éléménts $n = count($arr); // Tableau de sortie contenant les combinaisons possibles $sortie = array(); // Liste des combinaisons : for($i=2;$i<=2;$i++) { lstcombinaison(",",$arr,$i); } // Calcul des sommes de chaque combinaison $tbl_liste_somme=sommeTbl($sortie); //-------------------------------------------------------------// // AFFICHAGE DU RESULTAT // //-------------------------------------------------------------// echo "<table border=1 cellpading=0 cellspacing=0 collapse='collapse'> <tr><th>Ville de départ</th><th>Ville d'arrivée </th> </tr>"; for ($l=0;$l<count($tbl_liste_somme);$l++){ echo "<tr>"; Echo "<td>".$tbl_liste_somme[$l]['combinaison']."</td><td></td>"; echo "</tr>"; } echo "</table>"; //-------------------------------------------------------------// // FONCTIONS // //-------------------------------------------------------------// function lstcombinaison($debut,$tags,$profondeur) { // Script origina (légèrement modifié) : http://www.phpsources.org/scripts317-PHP.htm // global $sortie; if($profondeur == 0) { array_push($sortie,$debut); return; } $n = count($tags); for($i=0;$i<$n;$i++) { lstcombinaison($debut.$tags[$i].",",array_slice($tags,$i+1),$profondeur-1); } } function Factorielle($number){ $retour = 1; if ($number>1) { $retour = Factorielle($number-1); } return $number*$retour; } function sommeTbl($arr){ // Calcule la somme de chaque combinaison $n = count($arr); $tbl_somme = array(); for($i=0;$i<$n;$i++) { //Combinaison $tbl_somme[$i]['combinaison'] = substr(substr($arr[$i],1),0,-1); //Somme $explode_val=explode(",",$arr[$i]); $sum = array_sum($explode_val); $tbl_somme[$i]['somme'] = $sum; } return $tbl_somme; } ?> </body> </html>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
26 oct. 2021 à 10:12
26 oct. 2021 à 10:12
<!Doctype html> <html> <head> <title> Combinaisons </title> <meta charset="utf-8"> </head> <body> <?php //Exemple sur le tableau suivant : $arr = array('A', 'B','C','D'); // compte le nombre d'éléménts $n = count($arr); // Tableau de sortie contenant les combinaisons possibles $sortie = array(); // Liste des combinaisons : for($i=2;$i<=2;$i++) { lstcombinaison(",",$arr,$i); } // Calcul des sommes de chaque combinaison $tbl_liste_somme=getTbl($sortie); //-------------------------------------------------------------// // AFFICHAGE DU RESULTAT // //-------------------------------------------------------------// echo "<table border=1 cellpading=0 cellspacing=0 collapse='collapse'> <tr><th>Ville de départ</th><th>Ville d'arrivée </th> </tr>"; for ($l=0;$l<count($tbl_liste_somme);$l++){ $combi = explode(',',$tbl_liste_somme[$l]['combinaison']); echo "<tr>"; foreach($combi as $C){ echo "<td>".$C."</td>"; } echo "</tr>"; } echo "</table>"; //-------------------------------------------------------------// // FONCTIONS // //-------------------------------------------------------------// function lstcombinaison($debut,$tags,$profondeur) { // Script origina (légèrement modifié) : http://www.phpsources.org/scripts317-PHP.htm // global $sortie; if($profondeur == 0) { array_push($sortie,$debut); return; } $n = count($tags); for($i=0;$i<$n;$i++) { lstcombinaison($debut.$tags[$i].",",array_slice($tags,$i+1),$profondeur-1); } } function Factorielle($number){ $retour = 1; if ($number>1) { $retour = Factorielle($number-1); } return $number*$retour; } function getTbl($arr){ // Calcule la somme de chaque combinaison $n = count($arr); $tbl_res = array(); for($i=0;$i<$n;$i++) { //Combinaison $tbl_res[$i]['combinaison'] = substr(substr($arr[$i],1),0,-1); } return $tbl_res; } ?> </body> </html>
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
26 oct. 2021 à 10:26
26 oct. 2021 à 10:26
ça marche très bien, merci Jordane
Je ne sais pas si j'aurai la possibilité de mettre le résultat (Ville de départ) et (Ville d'arrivée) dans le value d'un input text comme ce que j'ai fait sur l'exemple ci-dessous, mais je veux que chaque input text aura son propre name
Je ne sais pas si j'aurai la possibilité de mettre le résultat (Ville de départ) et (Ville d'arrivée) dans le value d'un input text comme ce que j'ai fait sur l'exemple ci-dessous, mais je veux que chaque input text aura son propre name
<!Doctype html>
<html>
<head>
<title> Combinaisons </title>
<meta charset="utf-8">
</head>
<body>
<?php
//Exemple sur le tableau suivant :
$arr = array('A', 'B','C','D');
// compte le nombre d'éléménts
$n = count($arr);
// Tableau de sortie contenant les combinaisons possibles
$sortie = array();
// Liste des combinaisons :
for($i=2;$i<=2;$i++) {
lstcombinaison(",",$arr,$i);
}
// Calcul des sommes de chaque combinaison
$tbl_liste_somme=getTbl($sortie);
//-------------------------------------------------------------//
// AFFICHAGE DU RESULTAT //
//-------------------------------------------------------------//
echo "<table border=1 cellpading=0 cellspacing=0 collapse='collapse'>
<tr><th>Ville de départ</th><th>Ville d'arrivée </th>
</tr>";
for ($l=0;$l<count($tbl_liste_somme);$l++){
$combi = explode(',',$tbl_liste_somme[$l]['combinaison']);
echo "<tr>";
foreach($combi as $C){
echo "<td><input name='depart[]' type='text' value='".$C."'/></td>";
}
echo "</tr>";
}
echo "</table>";
//-------------------------------------------------------------//
// FONCTIONS //
//-------------------------------------------------------------//
function lstcombinaison($debut,$tags,$profondeur) {
// Script origina (légèrement modifié) : http://www.phpsources.org/scripts317-PHP.htm //
global $sortie;
if($profondeur == 0) {
array_push($sortie,$debut);
return;
}
$n = count($tags);
for($i=0;$i<$n;$i++) {
lstcombinaison($debut.$tags[$i].",",array_slice($tags,$i+1),$profondeur-1);
}
}
function Factorielle($number){
$retour = 1;
if ($number>1) {
$retour = Factorielle($number-1);
}
return $number*$retour;
}
function getTbl($arr){
// Calcule la somme de chaque combinaison
$n = count($arr);
$tbl_res = array();
for($i=0;$i<$n;$i++) {
//Combinaison
$tbl_res[$i]['combinaison'] = substr(substr($arr[$i],1),0,-1);
}
return $tbl_res;
}
?>
</body>
</html>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
26 oct. 2021 à 10:30
26 oct. 2021 à 10:30
Tu sais que tu n'as que deux données dans l'array $combi
donc au lieu de faire une boucle
, tu peux traiter chaque items de l'array séparément
donc au lieu de faire une boucle
foreach($combi as $C){ echo "<td><input name='depart[]' type='text' value='".$C."'/></td>"; }
, tu peux traiter chaque items de l'array séparément
echo "<td><input name='depart[]' type='text' value='".$combi[0]."'/></td>"; echo "<td><input name='arrivee[]' type='text' value='".$combi[1]."'/></td>";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
Modifié le 26 oct. 2021 à 11:17
Modifié le 26 oct. 2021 à 11:17
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
26 oct. 2021 à 11:19
26 oct. 2021 à 11:19
Avec quel code ... ??
N'aurais tu pas laissé la boucle ???
N'aurais tu pas laissé la boucle ???
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
Modifié le 26 oct. 2021 à 11:28
Modifié le 26 oct. 2021 à 11:28
Oui, c'est résolu une fois la boucle est supprimée.
Je te remercie infiniment Jordane45 pour ton aide et support habituels.
Je marque comme résolu :)
Voici le code que j'ai utilisé
Je te remercie infiniment Jordane45 pour ton aide et support habituels.
Je marque comme résolu :)
Voici le code que j'ai utilisé
<!Doctype html> <html> <head> <title> Combinaisons </title> <meta charset="utf-8"> </head> <body> <?php //Exemple sur le tableau suivant : $arr = array('A', 'B','C','D'); // compte le nombre d'éléménts $n = count($arr); // Tableau de sortie contenant les combinaisons possibles $sortie = array(); // Liste des combinaisons : for($i=2;$i<=2;$i++) { lstcombinaison(",",$arr,$i); } // Calcul des sommes de chaque combinaison $tbl_liste_somme=getTbl($sortie); //-------------------------------------------------------------// // AFFICHAGE DU RESULTAT // //-------------------------------------------------------------// echo "<table border=0 cellpading=0 cellspacing=0 collapse='collapse'> <tr><th>Ville de départ</th><th>Ville d'arrivée </th> </tr>"; for ($l=0;$l<count($tbl_liste_somme);$l++){ $combi = explode(',',$tbl_liste_somme[$l]['combinaison']); echo "<tr>"; echo "<td><input name='depart[]' type='text' value='".$combi[0]."'/></td>"; echo "<td><input name='arrivee[]' type='text' value='".$combi[1]."'/></td>"; echo "</tr>"; } echo "</table>"; //-------------------------------------------------------------// // FONCTIONS // //-------------------------------------------------------------// function lstcombinaison($debut,$tags,$profondeur) { // Script origina (légèrement modifié) : http://www.phpsources.org/scripts317-PHP.htm // global $sortie; if($profondeur == 0) { array_push($sortie,$debut); return; } $n = count($tags); for($i=0;$i<$n;$i++) { lstcombinaison($debut.$tags[$i].",",array_slice($tags,$i+1),$profondeur-1); } } function Factorielle($number){ $retour = 1; if ($number>1) { $retour = Factorielle($number-1); } return $number*$retour; } function getTbl($arr){ // Calcule la somme de chaque combinaison $n = count($arr); $tbl_res = array(); for($i=0;$i<$n;$i++) { //Combinaison $tbl_res[$i]['combinaison'] = substr(substr($arr[$i],1),0,-1); } return $tbl_res; } ?> </body> </html>
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
30 oct. 2021 à 00:20
30 oct. 2021 à 00:20
Bonjour,
Y-a-t il s'il vous plait la possibilité de remplir le array dynamiquement depuis une base de données SQL avec le moteur PDO ?
Y-a-t il s'il vous plait la possibilité de remplir le array dynamiquement depuis une base de données SQL avec le moteur PDO ?
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
Modifié le 30 oct. 2021 à 00:24
Modifié le 30 oct. 2021 à 00:24
Bonjour,
Y-a-t il s'il vous plait la possibilité de remplir le array('A','B','C','D') dynamiquement depuis une de données SQL avec le moteur PDO ?
Y-a-t il s'il vous plait la possibilité de remplir le array('A','B','C','D') dynamiquement depuis une de données SQL avec le moteur PDO ?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
30 oct. 2021 à 00:25
30 oct. 2021 à 00:25
C'est à dire ??
Remplir quel array .. avec quoi exactement ???
Remplir quel array .. avec quoi exactement ???
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
30 oct. 2021 à 00:29
30 oct. 2021 à 00:29
Les valeurs: A,B,C,D sont stockés sur une table nommée Ville. Je veux les récupérer depuis la table en utilisant PDO et PHP pour avoir: array('A','B','C','D')
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
30 oct. 2021 à 00:34
30 oct. 2021 à 00:34
Et bien oui, il te suffit de faire une requête SQL de l'exécuter via PDO et de faire un fetch du résultat pour stocker les données dans un array.
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
30 oct. 2021 à 00:40
30 oct. 2021 à 00:40
Malheureusement ça n'a pas marché, voici ce que j'ai fait
Requête SQL
Code PHP
Requête SQL
function Combinaisons(){ $cnx = Connexion(); $req=$cnx->prepare ("SELECT * FROM villes"); $req->execute(); return $req->fetchAll(); }
Code PHP
<?php foreach(Combinaisons() as $C) { $A = $C['ville'].","; } $arr = array($A); // compte le nombre d'éléménts $n = count($arr); . . . ?>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié le 30 oct. 2021 à 00:53
Modifié le 30 oct. 2021 à 00:53
$arr = array(); foreach(Combinaisons() as $C) { $arr[] = $C['ville']; }
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
30 oct. 2021 à 09:34
30 oct. 2021 à 09:34
Tu peux aussi le faire sans boucle...
et donc
function getVilles(){ $cnx = Connexion(); $req=$cnx->prepare ("SELECT ville FROM villes"); $req->execute(); return $req->fetchAll(PDO::FETCH_COLUMN); }
et donc
$arr = getVilles();
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
30 oct. 2021 à 00:58
30 oct. 2021 à 00:58
ça marche bien.
Merci infiniment Jordan :)
Merci infiniment Jordan :)