Formulair comment enregistrer une ligne.

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 : Formulair comment enregistrer une ligne.

par Truc » 06 mars 2007, 22:53

Ajoloca t'a indiqué coment faire... une boucle sur $tab

Très grossièrement :
for ($i=0; count($tab); $i++
{
     mysql_query("INSERT .... (".$tab[$i].")");
}

par Arno76 » 06 mars 2007, 11:57

Merci de la reponse,

Voici ou je suis actuellement...
<?php 
    function my_nl2br($str){ 
        $nl = Array("\n\r", "\n", "\r"); 
        return str_replace($nl, '<br />', $str); 
    } 
    $chaine="Premi&egrave;re ligne\nune ligne vide\n\nune ligne\n\rune autre\ret la derni&egrave;re"; 
    $chaine_br = my_nl2br($chaine); 
    echo htmlentities($chaine_br); 
    $tab = explode('<br />', $chaine_br); 
    var_dump($tab); 
    echo '<pre>'; 
    print_r($tab); 
    echo '</pre>'; 
?> 
et je souhaiterai juste savoir comment intergrer ca dans ma bdd ligne par ligne merci ;)

par Truc » 05 mars 2007, 18:29

Tant qu'à faire un up fait en un mais montre nous que tu as essayé d'avancer de ton coté.
Où en est le code ?
C'est quoi la question ?
Un topo rapide quoi...

par Truc » 05 mars 2007, 18:28

Modération :
Arno76, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

par Arno76 » 05 mars 2007, 12:54

Personne ne peut m aider ??? je vous remerci. ;)

par Arno76 » 28 févr. 2007, 19:19

Quelqu un pourrais t il m'aider ??? je vous remercie ;)

par Arno76 » 25 févr. 2007, 19:02

C est pour enregistrer plusieur donner en meme temps plutot que de le faire une par une.

tu ma dit ca:
il te suffit de faire une boucle sur le tableau et un insert par poste.

merci de m'avoir repondu mes ca ne m'aide pas plus se que ca ;)

par Ajoloca » 25 févr. 2007, 17:16

Bonjour,

Je me répète, mais j'ai toujours pas compris l'intérêt de faire de chaque ligne un enregistrement mais si c'est vraiment ce que tu veux faire il te suffit de faire une boucle sur le tableau et un insert par poste.

par Arno76 » 25 févr. 2007, 15:31

Bonjour,

sous quelle forme je doit mettre ca pour que les ligne une par une s'ajoute dans ma bdd je bloque depuis quelque jours je vous remerci pour votre aide. ;)

par Ajoloca » 22 janv. 2007, 13:50

Bonjour,

Personnellement, je préfère les solutions génériques (utilisables par tout)
Bien que je n'ai pas compris l'utilité de l'écrire sur plusieurs enregistrements,
voici une solution qui fonctionne quel que soit le système.
La chaine contient des \n\r des \n et \r
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
	<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
	<title>ess.php</title>
</head>
<body>
<?php
	function my_nl2br($str){
		$nl = Array("\n\r", "\n", "\r");
		return str_replace($nl, '<br />', $str);
	}
	$chaine="Premi&egrave;re ligne\nune ligne vide\n\nune ligne\n\rune autre\ret la derni&egrave;re";
	$chaine_br = my_nl2br($chaine);
	echo htmlentities($chaine_br);
	$tab = explode('<br />', $chaine_br);
	var_dump($tab);
	echo '<pre>';
	print_r($tab);
	echo '</pre>';
?>
</body>
</html>
et le résultat est

Code : Tout sélectionner

Premi&egrave;re ligne<br />une ligne vide<br /><br />une ligne<br />une autre<br />et la derni&egrave;re array 0 => string 'Premi&egrave;re ligne' (length=21) 1 => string 'une ligne vide' (length=14) 2 => string '' (length=0) 3 => string 'une ligne' (length=9) 4 => string 'une autre' (length=9) 5 => string 'et la derni&egrave;re' (length=21) Array ( [0] => Première ligne [1] => une ligne vide [2] => [3] => une ligne [4] => une autre [5] => et la dernière )

par AB » 22 janv. 2007, 04:27

Bonsoir,

Si je t'ai bien suivi Ajoloca, la meilleure méthode pour éviter cet inconvénient serait donc pour Arno, s'il est hébergé sur un serveur linux:
$tab = explode("\n", $_POST['ajout_ligne']);
Car
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
    <title>ess.php</title>
</head>
<body>
<?php
    $chaine="Premi&egrave;re ligne\nune ligne vide\n\nune autre ligne\n";
    $tab = explode("\n", $chaine);
	
	echo '<pre>';
    print_r($tab);
    echo '</pre>'; 
?>
</body>
</html>
donne à l'exécution

Code : Tout sélectionner

Array ( [0] => Première ligne [1] => une ligne vide [2] => [3] => une autre ligne [4] => )
Ce qui voudrait dire que ma première réponse confirmée par Ultim4T0m et Jules Petibidon était la plus appropriée pour un serveur linux. Et qu'un maximum de compatibilité serveur proposé par le code d'Albat puis par Truc possède cependant quelques inconvénients?

par Ajoloca » 22 janv. 2007, 01:00

Bonsoir,

Il faut faire attention à ce type de conversion.

Si je prends ce code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
	<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
	<title>ess.php</title>
</head>
<body>
<?php
	$chaine="Premi&egrave;re ligne\nune ligne vide\n\nune autre ligne\n";
	$chaine_br = nl2br($chaine);
	echo htmlentities($chaine_br);
	$tab = explode('<br />', $chaine_br);
	var_dump($tab);
?>
</body>
</html>
À l'exécution j'obtiens ceci

Code : Tout sélectionner

Premi&egrave;re ligne<br /> une ligne vide<br /> <br /> une autre ligne<br /> array 0 => string 'Premi&egrave;re ligne' (length=21) 1 => string ' une ligne vide' (length=15) 2 => string ' ' (length=1) 3 => string ' une autre ligne' (length=16) 4 => string ' ' (length=1)
Et on peut remarque que :
1 - un caractère est ajouté après le <br />
2 - Que ce caractère dans le var_dump fait un saut de ligne
car si dans le code on ajoute ceci
echo '<pre>';
	print_r($tab);
	echo '</pre>';
le résultat est

Code : Tout sélectionner

Array ( [0] => Première ligne [1] => une ligne vide [2] => [3] => une autre ligne [4] => )
ce qui confirme le saut de ligne.

par AB » 22 janv. 2007, 00:34

$tab = explode("<br />",nl2br($_POST['ajout_ligne']));
Il faut employer la syntaxe ci-dessus

par Arno76 » 21 janv. 2007, 22:27

Voici se que j utilise quelle caracthère faut il que je mette car avec <br> ca ne fonctione pas. :?

<TEXTAREA name="ajout_ligne" cols="15" rows="5">aaaaa
mmmmm
ppppp
eeeee
uuuuu</TEXTAREA>

par AB » 20 janv. 2007, 23:26

Ouckileou, Ajoloca,

Merci de votre réponse. C'est tout à votre honneur, également.

Comme dit Ouckileou : "...et parfois, on réagit au quart de tour."

C'est ce que j'ai cru comprendre :wink: