8800 sujets

Développement web côté serveur, CMS

Pages :
Salut,

après de longues recherches sur google non fructueuses, je viens vers vous pour savoir s'il est possible d'avoir un seul input text pour écrire plusieurs colonnes dans une ligne de ma base de données.

Pour être plus clair, je voudrai entrer des liens, mais le nombre de ces liens n'est pas fixe, et je ne voudrai pas intègrer 36 input sur ma page Smiley decu
Modifié par kilian67320 (16 May 2012 - 17:05)
Oui tu peux le faire avec un input ou textarea, l'important est de faire mettre un séparateur par l'utilisateur entre chaque lien... comme une "," ou un "|".

Ensuite tu peux récupérer chaque lien par exemple en PHP via explode.
Merci.

Mais n'existe-t'il pas un moyen plus "automatique" avec un submit à actionner à chaque fois que l'on envoyer un élément dans la bdd?
Modérateur
Bonjour,

Peux-tu reformuler la question ou donner un exemple de ce que tu voudrais. Je n'ai pas compris.
A ce que je comprend, la solution de G3ronim0 est tout à fait adapté.

En gros :
- tu ne mets qu'un seul input,
- tu instaures une regle de séparation entre des différents liens (exemple : lien1|lien2|lien3|lien4|lien5 ...)
- Tu récupères la valeur avec $_POST
- tu sépares les liens avec la fonction explode de PHP
- Et tu insères le tableau généré dans les différentes colonnes de ta table.


<?php
// Lien sous la forme : lien1|lien2|lien3

$get_liens = $_POST['input_lien'];
$liens = explode("|", $get_liens);

Ton traitement d'insertion dans la BDD selon le tableau $liens

?>
Modérateur
Ou que vu qu'un lien ne doit pas comporter d'espace, utiliser l'espace comme séparateur, c'est beaucoup plus naturel et simple pour les utilisateurs
a écrit :
Notons qu'avec un textarea, le séparateur en question peut être un retour chariot =°


+1

a écrit :
Ou que vu qu'un lien ne doit pas comporter d'espace, utiliser l'espace comme séparateur


+2
Modifié par G3ronim0 (09 May 2012 - 22:20)
Bonjour et merci pour vos réponses,

je pense effectivement que cette solution resoudera mon problème.

Par contre, comment puis-je resortir les liens un par un, sachant qu'ils sont séparés par une virgule dans ma bdd?
Modifié par kilian67320 (16 May 2012 - 10:16)
Pour les ressortir un par un, il te suffit d'utiliser une boucle foreach qui va parcourir ton tableau où tu as stocké ton explode.

Pour ton erreur, poste ton code, autrement on pourra pas te guider sur une solution..
kilian67320 a écrit :
Rien ou array
Tu es sûr d'envoyer les bons paramètres ? =°
Et es-tu sûr que les paramètres envoyés ne sont pas vides ? =°
Modifié par Gothor (16 May 2012 - 13:08)
Première fois que j'utilise ce code...et il me pose vraiment problème. Mais j'ai réussi à le faire fonctionner ouf Smiley biggol

$lien = $affiche_commentaire["colisage_1"];
$array_lien = explode(',', $lien);
$lien_1 = $array_lien[0];	
$lien_2 = $array_lien[1]; 
$lien_3 = $array_lien[2]; 
echo '<a href='.$lien_1.'>...'.substr($lien_1, -11);



Merci pour votre aide messieurs Smiley ravi
Modifié par kilian67320 (16 May 2012 - 13:50)
Gothor a écrit :
Donc c'est bon ? Problème résolu (si tel est le cas, il faut modifier le titre de ton topic)


Oui.

Puis-je me permettre de poser une dernière petite question dans ce topic?

Comment faire pour un nombre d'array à l'infini?
Afin d'éviter de saisir dans mon code:
$lien_1 = $array_lien[0];	
$lien_2 = $array_lien[1]; 
$lien_3 = $array_lien[2];
$lien_1 = $array_lien[...];	
$lien_1 = $array_lien[n];
Pages :