[RESOLU] clean boucle for

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] clean boucle for

Re: clean boucle for

par azizss » 15 avr. 2016, 16:22

Super merci j'ai fait comme tu m'a dit, cela fonctionne très bien.

merci encore résolut.

Bon Week-end a vous,

Re: clean boucle for

par Aureusms » 15 avr. 2016, 14:21

Pour ma culture personnelle, pourquoi as-tu des { et } qui se baladent tous seuls ?

Ex :
{

$lien_dujour = $resu['lien_jrs'];

Re: clean boucle for

par Spols » 15 avr. 2016, 14:11

Au début de ton else, avant le premier foreach tu dois instancier tes variables à ta valeur par défault NULL ou ""
$titre_extraction_jr = "";
etc.

Ainsi à chaque itération, ces variables seront remise à 0 et rempli qu'avec les infos du line courant

Re: clean boucle for

par azizss » 15 avr. 2016, 14:06

Merci encore de ton aide,

Voilà mon code

Code : Tout sélectionner

<?php include_once("simple_html_dom.php"); $resul = $bdd->query("SELECT max(`id_lien_jrs`) FROM lien_jrs"); $nombre = $resul->fetch(); echo $nombre; { for ($i = 1; $i <= $nombre; $i++) { $result = $bdd->query("SELECT id_lien__jrs, lien_jrs FROM lien_jrs WHERE id_lien_jrs = $i"); $resu = $result->fetch(); { $lien_dujour = $resu['lien_jrs']; $html = file_get_html("$lien_dujour"); echo '<br />'; if ($resu['lien_jrs'] == null) { echo $i;echo '<br />'; echo $lien_dujour;echo '<br />'; }else { foreach($html->find('meta [property="og:title"]') as $titre_extraction_jrs){ $titre_extraction_jr = $titre_extraction_jrs->getAttribute('content'); } foreach($html->find('p.accroche') as $accroche_extraction_jrs){ $accroche_extraction_jr = $accroche_extraction_jrs->plaintext; } foreach($html->find('div .description') as $description_extraction_jrs){ $description_extraction_jr = $description_extraction_jrs->plaintext; } foreach($html->find('span[itemprop="streetAddress"]') as $streetAddress_extraction_jrs){ $streetAddress_extraction_jr = $streetAddress_extraction_jrs->plaintext; } foreach($html->find('span[itemprop="postalCode"]') as $postalCode_extraction_jrs ){ $postalCode_extraction_jr = $postalCode_extraction_jrs->plaintext; } foreach($html->find('span[itemprop="addressLocality"]') as $addressLocality_extraction_jrs){ $addressLocality_extraction_jr = $addressLocality_extraction_jrs->plaintext; } $sql = "INSERT INTO `extractions_jrs` (`id_extraction_jrs`, `accroche_extraction_j`, `description_extraction_jr`, `streetAddress_extraction_jr`, `postalCode_extraction_jr`, `addressLocality_extraction_jr`, `date`, `heure`) VALUES (NULL, ‘accroche_extraction_j’, ‘description_extraction_jr’, ‘streetAddress_extraction_jr’, ‘postalCode_extraction_jr’, ‘addressLocality_extraction_jr’,NOW(),NOW()’)  ; $bdd->exec($sql); } } } $result->closeCursor(); } ?>

Re: clean boucle for

par Aureusms » 15 avr. 2016, 12:36

Montre ton code...

Re: clean boucle for

par azizss » 15 avr. 2016, 12:31

Merci pour cette info,

Mais comment faire cela ?, peut-tu me donnée un exemple.
STP merci a toi,

Re: clean boucle for

par Aureusms » 15 avr. 2016, 12:03

Écrases le tableau...

Re: clean boucle for

par azizss » 15 avr. 2016, 11:29

Bonjour,

J'ai fait des recherches sur le net et ne trouve pas de solution.

Quant je récupérer les données cela fonctionne, la boucle ce fait bien, mais si le champ est vide, il garde les info du champ précédent et les écris bien dans ma bdd.

Comment faire pour qu'a chaque tour les données précédent s’efface.

Merci à vous,

Re: clean boucle for

par Aureusms » 13 avr. 2016, 13:11

Bonjour,

Tu peux aussi stocker les valeurs ID pour un traitement ultérieur :
$tabId = array();
for ($i = 0 : $i < quelquechose; $i++) :
	if ("ID = 2 et que j'ai un champ prix = 40€, frais = 5€, et taille = 38")
		$tabId[] = $i;
endfor;
$tabId = array_filter($tabId);
if (!empty($tabId)) {
	//traitement des $i stocké
}

Re: clean boucle for

par Ryle » 13 avr. 2016, 12:49

Bonjour,

Il suffit de remettre les valeurs par défaut au début de ta boucle, ainsi dans une itération tu remettras toutes tes valeurs à blanc/null/autre, puis procéderas à la mise à jour de ces valeurs qui conserveront la valeur par défaut si elles ne sont pas mises à jour :)

clean boucle for

par azizss » 13 avr. 2016, 12:45

Bonjour,

J'utilise une boucle for, qui fonctionne bien.
Mais mon problème est que ma boucle qui récupérer a chaque fois des informations ne signalise pas.

ça récupérer les info d'une table1 pour emplir une autre table2

sur la table1 :

si ID = 1 j'ai un champ prix = 20€, frais = 5€, et taille = 38.
si ID = 2 j'ai un champ prix = 40€, frais = vide, et taille = vide.

sur la table2 :

je copie ce que j'ai sur le table 1:

ID = 1 et que j'ai un champ prix = 20€, frais = 5€, et taille = 38. (rien ne change cela ce copie bien)
ID = 2 et que j'ai un champ prix = 40€, frais = 5€, et taille = 38. (si le champ est vide a la copie, il garde le information de l'ID précèdent et le copie ).

Comment faire pour initialise un for a chaque fois qu'il fait une boucle sans détruire le i++ .

Merci a vous,