stockage additionnel

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 : stockage additionnel

par zeus » 18 mai 2005, 17:12

Ca se peut !!!

Perso, je ne l'ai jamais utilisée donc je ne me pronoce pas trop !!! :lol:

par Cyrano » 18 mai 2005, 17:11

c'est plutôt
addslashes($ch[$i]);
T'as raison, me suis gourré tiens, l'autre, c'est l'ancienne formulation me semble (php3)

par BFH » 18 mai 2005, 16:02

oui c'est ce que je voulais dire
=D> =D> =D> Cyrano,=D> =D> =D> encore une fois merci

par zeus » 18 mai 2005, 16:01

c'est plutôt
addslashes($ch[$i]);

par Cyrano » 18 mai 2005, 15:50

add_slashes($ch[$i]);

par BFH » 18 mai 2005, 15:48

C'est moi qui ait posté ci_dessus mais j'avais oublié de me logger! :langue:

Avec la méthode de Cyrano ça fonctionne mais je rencontre un porblème car j'ai des mots qui contiennent des apostrophes donc ça bug! Y a t il un moyen d'ignorer les apostrophes contenues dans $Ch[$i] :?:

par Invité » 18 mai 2005, 15:39

J'ai testé la formulation de rami pour voir, en l'adaptant une peu
$Ch=$_GET["Ch"];
$Total="";
for($i=0;$i<count($Ch);$i++)
{	
$Total=$Total.', '.$Ch[$i].' ';
}
$Total=substr($Total,2,-1);//sert à supprimer le permier espace et la premiere virgule ainsi que le dernier espace.
echo ($Total."<p>");
$query= "SELECT DISTINCT IPage FROM item WHERE ReportID='".$P."' && IPage IN ( ".$Total." )";
Bon pour moi ce code semble correct mais cela me retourne
Démarage automatique, Imprimantes, Antivirus, ... //Bref, cela ecris la valeur de $Total
Errreur de syntaxe près de 'automatique , Imprimantes , Antivirus)' à la ligne 1
Je comprends pas pourquoi il y a cette erreur! Si qq peut m'expliquer merci.

par pjl » 17 mai 2005, 19:28

Et avec la fonction implode, ce ne serait pas plus simple ?

par Cyrano » 17 mai 2005, 17:47

pourquoi pas en effet: il faudrait mettre les deux en compétition point de vue performance.

par rami » 17 mai 2005, 17:34

Et pourquoi pas ca:
<?
$query="SELECT DISTINCT IPage FROM item WHERE ReportID IN \"$P\" && IPage IN ";
$maListe = '(';
$nbelem= count($Ch);
for($i=1;$i<$nbelem;$i++)
{
    $maListe.=$Ch[$i].',';
}
//on supprime la derniere virgule de la liste
$maListe = substr($maListe,0,-1);
$maListe.=')';
$query .= $maListe;
?>
J'ai édité: en effet, on faisait le count dans la condition du for, ce qui n'est pas du tout optimisé ;)

par Cyrano » 17 mai 2005, 17:17

Ça devrait fonctionner avec un truc dans ce goût là :
<?
$query="SELECT DISTINCT IPage FROM item WHERE ReportID=\"$P\" && ";
for($i=1;$i<count($Ch);$i++)
{
    echo ("Valeur cochée numero ".$i." : ".$Ch[$i]."<br>");
    if($i < (count($Ch) - 1))
    {
        $query .= "IPage = ". $Ch[$i] ."|| ";
    }
    else
    {
        $query .= "IPage = ". $Ch[$i];
    }
}
$query .= ")";
?>

par Cyrano » 17 mai 2005, 17:12

ha non, ok, je vois ce que tu veux dire. Non, MySQL ne saura pas lire le tableau comme ça, enfin je ne crois pas.
j'ai déjà fait un truc du genre, faut que j'y réfléchisse: tu vas devoir construire dynamiquement la requête. Donne moi un petit moment.

par BFH » 17 mai 2005, 16:43

Tu veux dire que je peux ecrire:
for($i=1;$i<count($Ch);$i++) 
{ 
echo ("Valeur cochée numero ".$i." : ".$Ch[$i]."<br>"); 
     
}     
$query="SELECT DISTINCT IPage FROM item WHERE ReportID=\"$P\" && IPage IN ('$Ch') "; 
:?: :?: :?: :?:

par Cyrano » 17 mai 2005, 16:37

Ce que tu peux faire, c'est mettre les valeurs dans un tableau,mais en fait, ce tableau existe déjà ; exemple:
$bla = array();
for($i=1;$i<count($Ch);$i++)
{
echo ("Valeur cochée numero ".$i." : ".$Ch[$i]."<br>");
array_push($bla,$Ch[$i]);
}
Tu transfèrerais le contenu de $ch dans $bla, ce qui ne sert strictement à rien, autant utiliser directement $ch.

Ou alors j'ai mal compris la question et encore moins vu le but de la manoeuvre.

stockage additionnel

par BFH » 17 mai 2005, 16:31

Bonjour, je desirerais savoir comment faire pour avoir une variable qui stocke en additionnant les valeurs:
Explications, je voudrais que $bla recueille a la fin du for toutes les valeurs que $bla a eut pendant l'execution du for.
Voila mon code, (qui est faux bien sur)
for($i=1;$i<count($Ch);$i++)
{
echo ("Valeur cochée numero ".$i." : ".$Ch[$i]."<br>");
$bla=$Ch[$i];	
}	
$query="SELECT DISTINCT IPage FROM item WHERE ReportID=\"$P\" && IPage IN ('$bla') ";
Si quelqu'un sait comment le corriger. D'avance Merci.