Recherche php incrementation
Fermé
BiscuBu1254
-
14 oct. 2020 à 11:52
yg_be Messages postés 23471 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 février 2025 - 16 oct. 2020 à 13:19
yg_be Messages postés 23471 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 février 2025 - 16 oct. 2020 à 13:19
A voir également:
- Recherche php incrementation
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Easy php - Télécharger - Divers Web & Internet
- Recherche adresse - Guide
- Recherche photo - Guide
- Je recherche une chanson - Guide
6 réponses
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
14 oct. 2020 à 12:17
14 oct. 2020 à 12:17
bonjour,
chercher quoi, dans quoi?
de quel genre d'objet s'agit-il?
comment déterminer lequel doit s'afficher?
dans quel contexte fais-tu cela?
chercher quoi, dans quoi?
de quel genre d'objet s'agit-il?
comment déterminer lequel doit s'afficher?
dans quel contexte fais-tu cela?
Bonjour,
je voudrais savoir si c'est possible de récupérer une certaine donnée à chaque fois qu'elle boucle dans une <row>.
j'utilise du xml dans du php et je fais un appel xml dans le fichier php
avec le code ce sera plus simple :
le code xml :
<RESULTSET FOUND="3">
<ROW>
<COL>
<DATA>AAA</DATA>
</COL>
<COL>
<DATA>07/10/2020</DATA>
</COL>
<COL>
<DATA>ADCND</DATA>
</COL>
</ROW>
<ROW>
<COL>
<DATA>ADB</DATA>
</COL>
<COL>
<DATA>09/10/2020</DATA>
</COL>
<COL>
<DATA>ABC</DATA>
</COL>
</ROW>
<ROW>
<COL>
<DATA>BBC</DATA>
</COL>
<COL>
<DATA>12/10/2020</DATA>
</COL>
<COL>
<DATA>BCD</DATA>
</COL>
</ROW>
</RESULTSET>
le code php :
<?php
$xml = simplexml_load_file("extractions.xml");
foreach($xml->RESULTSET as $RESULSET) {
foreach($RESULSET->ROW[2]->COL[5] as $ROW)
echo $ROW;
}
Est-ce possible de remplacer le deuxieme foreach par du if ou for, si le résultat est inférieur au résultat trouvé donc il passe dans la boucle et affiche la valeur demandé
je voudrais savoir si c'est possible de récupérer une certaine donnée à chaque fois qu'elle boucle dans une <row>.
j'utilise du xml dans du php et je fais un appel xml dans le fichier php
avec le code ce sera plus simple :
le code xml :
<RESULTSET FOUND="3">
<ROW>
<COL>
<DATA>AAA</DATA>
</COL>
<COL>
<DATA>07/10/2020</DATA>
</COL>
<COL>
<DATA>ADCND</DATA>
</COL>
</ROW>
<ROW>
<COL>
<DATA>ADB</DATA>
</COL>
<COL>
<DATA>09/10/2020</DATA>
</COL>
<COL>
<DATA>ABC</DATA>
</COL>
</ROW>
<ROW>
<COL>
<DATA>BBC</DATA>
</COL>
<COL>
<DATA>12/10/2020</DATA>
</COL>
<COL>
<DATA>BCD</DATA>
</COL>
</ROW>
</RESULTSET>
le code php :
<?php
$xml = simplexml_load_file("extractions.xml");
foreach($xml->RESULTSET as $RESULSET) {
foreach($RESULSET->ROW[2]->COL[5] as $ROW)
echo $ROW;
}
Est-ce possible de remplacer le deuxieme foreach par du if ou for, si le résultat est inférieur au résultat trouvé donc il passe dans la boucle et affiche la valeur demandé
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
14 oct. 2020 à 17:48
14 oct. 2020 à 17:48
tu n'expliques pas ce que tu souhaites réaliser.
"si le résultat est inférieur au résultat trouvé" est particulièrement difficile à comprendre.
inutile d'expliquer comment tu penses modifier ton code qui ne fonctionne pas, explique plutôt le résultat attendu, peut-être avec un exemple?
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
peut-être veux-tu faire ceci:
"si le résultat est inférieur au résultat trouvé" est particulièrement difficile à comprendre.
inutile d'expliquer comment tu penses modifier ton code qui ne fonctionne pas, explique plutôt le résultat attendu, peut-être avec un exemple?
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
peut-être veux-tu faire ceci:
foreach($xml->RESULTSET as $RESULSET) { foreach($RESULSET->ROW[2]->COL[5] as $ROW) { if $ROW = "cequejecherche" { echo $ROW; { } }
Ah désolée, alors je rééxplique. J'ai des données dans un fichier xml, il me retourne des résultats (le RESULTSET found=3) . Cela contient différentes lignes (c'est les row).
J'aimerais faire une requête en PHP pour chercher une seule donnée (dans une col) et d'une certaine ligne (les row) en fonction des résultats trouvés . Donc remplacer le 2eme foreach par un IF ou un FOR
Par exemple, je souhaite avoir la data de la COL 1 qui est dans la ROW 1 (quand le resultset est found = 3 par exemple).
Mon code php je l'avais modifié ici car le fichier xml que j'utilise est beaucoup plus lourd :
Le code php
le code xml (modifié) :
Il me retourne ce résultat:
J'aimerais faire une requête en PHP pour chercher une seule donnée (dans une col) et d'une certaine ligne (les row) en fonction des résultats trouvés . Donc remplacer le 2eme foreach par un IF ou un FOR
Par exemple, je souhaite avoir la data de la COL 1 qui est dans la ROW 1 (quand le resultset est found = 3 par exemple).
Mon code php je l'avais modifié ici car le fichier xml que j'utilise est beaucoup plus lourd :
Le code php
<?php $xml = simplexml_load_file("extractions.xml"); foreach($xml->RESULTSET as $RESULSET) { foreach($RESULSET->ROW[1]->COL[2] as $ROW) echo $ROW; } ?>
le code xml (modifié) :
<RESULTSET FOUND="3"> <ROW> <COL> <DATA>AAA</DATA> </COL> <COL> <DATA>07/10/2020</DATA> </COL> <COL> <DATA>ADCND</DATA> </COL> </ROW> <ROW> <COL> <DATA>ADB</DATA> </COL> <COL> <DATA>09/10/2020</DATA> </COL> <COL> <DATA>ABC</DATA> </COL> </ROW> <ROW> <COL> <DATA>BBC</DATA> </COL> <COL> <DATA>12/10/2020</DATA> </COL> <COL> <DATA>BCD</DATA> </COL> </ROW> </RESULTSET>
Il me retourne ce résultat:
07/10/2020
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et par exemple, je veux récuperer la DATA 3 dans la row 2
donc ça doit me donner BCD
donc ça doit me donner BCD
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
15 oct. 2020 à 12:34
15 oct. 2020 à 12:34
alors peut-être ainsi:
foreach($xml->RESULTSET as $RESULSET) { $ROW = $RESULSET->ROW[3]->COL[3] echo $ROW; }
BiscuBu1254
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Modifié le 15 oct. 2020 à 15:56
Modifié le 15 oct. 2020 à 15:56
D'accord merci ça a résolu mon une partie de mon problème.
Autre question si je veux faire une boucle, pour isoler les <row> et avoir a l'intérieur de la boucle la sélection des élements <col > et dans chaque <col> j'aimerais avoir chaque data
Il faut faire un foreach ou un for ?
Autre question si je veux faire une boucle, pour isoler les <row> et avoir a l'intérieur de la boucle la sélection des élements <col > et dans chaque <col> j'aimerais avoir chaque data
Il faut faire un foreach ou un for ?
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
BiscuBu1254
15 oct. 2020 à 16:46
15 oct. 2020 à 16:46
alors peut-être ainsi:
foreach($xml->RESULTSET as $RESULSET) { foreach($RESULSET->ROW as $ROW) { foreach($ROW->COL as $COL) { echo $COL; { } }
BiscuBu1254
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Modifié le 16 oct. 2020 à 11:13
Modifié le 16 oct. 2020 à 11:13
Merci pour l'aide ! Petite question est-ce qu'il ya un moyen plus simple que de faire un echo de chaque COL ?
Si par exemple j'ai 5 COL j'aimerais les afficher chaque fois que ça boucle sur le ROW
Ma solution est:
Cela me retourne ce résultat:
Si par exemple j'ai 5 COL j'aimerais les afficher chaque fois que ça boucle sur le ROW
Ma solution est:
foreach ($xml->RESULTSET as $RESULSET) { foreach ($RESULSET->ROW as $ROW) { foreach ($ROW->COL[0] as $COL) { echo "<br>".$COL . "<br>"; // A l'intérieur de la boucle on récupère chaque donnée des row echo $ROW->COL[1]->DATA; echo $ROW->COL[2]->DATA; echo $ROW->COL[3]->DATA; } } }
Cela me retourne ce résultat:
AAA
07/10/2020
ADCND
ADB
09/10/2020
ABC
BBC
12/10/2020
BCD
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
BiscuBu1254
16 oct. 2020 à 12:05
16 oct. 2020 à 12:05
une solution plus simple pour obtenir quoi?
as-tu testé la suggestion en #9?
as-tu testé la suggestion en #9?
Oui j'ai essayé ta solution, c'était plus simple que la solution que j'ai mis en place de mon côté qui ne marchait pas
Le code fonctionne je récupère bien les COL de chaque ROW.
Je souhaite récupérer toutes les DATA de chaque COL (voir mon fichier XML)
C'est mon dernier soucis, après j'aurais résolu le problème ...
Car mon fichier (je l'ai pas mis ici car assez lourd), il contient 42 COL ...
J'affiche bien les data avec le :
Sauf que pour afficher toutes les data je fais par exemple :
foreach ($ROW->COL[0] as $COL) {
echo $ROW->COL[1]->DATA."<br>";
echo $ROW->COL[2]->DATA."<br>";
echo $ROW->COL[3]->DATA."<br>";
}
C'est possible de simplifier les echo avec une fonction for ?
J'ai pensé a faire une incrémentation, mais il faut que je définisse un nombre c'est bien ça ?
Le code fonctionne je récupère bien les COL de chaque ROW.
Je souhaite récupérer toutes les DATA de chaque COL (voir mon fichier XML)
C'est mon dernier soucis, après j'aurais résolu le problème ...
Car mon fichier (je l'ai pas mis ici car assez lourd), il contient 42 COL ...
J'affiche bien les data avec le :
echo $ROW->COL[1]->DATA."<br>";
Sauf que pour afficher toutes les data je fais par exemple :
foreach ($ROW->COL[0] as $COL) {
echo $ROW->COL[1]->DATA."<br>";
echo $ROW->COL[2]->DATA."<br>";
echo $ROW->COL[3]->DATA."<br>";
}
C'est possible de simplifier les echo avec une fonction for ?
J'ai pensé a faire une incrémentation, mais il faut que je définisse un nombre c'est bien ça ?
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
16 oct. 2020 à 12:47
16 oct. 2020 à 12:47
peut-être devrais-tu nous montrer le résultat de la suggestion en #9, et ce que tu voudrais avoir à la place.
tu montres chaque fois un code qui ne fonctionne pas, sans expliquer le résultat que tu attends.
tu montres chaque fois un code qui ne fonctionne pas, sans expliquer le résultat que tu attends.
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
16 oct. 2020 à 13:19
16 oct. 2020 à 13:19
dans quel contexte fais-tu cela?