Page 1 sur 3

Données

Posté : 28 juil. 2014, 11:17
par Siingers
Bonjour tout le monde !

Après de nombreuses recherches et ne trouvant pas mon bonheur je viens à vous pour demander de l'aide.

Code :

Code : Tout sélectionner

<input type="hidden" name=" ' . $data['id_weapon'] . ' "> <a href="'.$data['url'].'">' . $data['name'] . '</a> </input>
Question : Comment puis-je récupérer le nom du bouton dans une autre page ( cela me permettra ensuite de récupérer les données lié à ce nom dans ma base SQl).


Merci d'avance pour votre aide.

Siingers.

Re: Données

Posté : 28 juil. 2014, 12:56
par Elie
Euh mais ca existe ton truc la ... ?
Tu cherche a faire quoi exactement ?
<input type="button" name="' . $data['id_weapon'] . '" value="' . $data['name'] . '" onclick=\"location.href = "'.$data['url'].'"\">

Re: Données

Posté : 28 juil. 2014, 13:13
par sirakawa
Il faurait peut-être se trouver dans un <form></form>...

Re: Données

Posté : 28 juil. 2014, 13:43
par Siingers
Pour expliquer un peu mon code :

Pour le moment ce que je fais est que lorsque je clique sur un lien une ligthbox apparait.

Dans cette ligthbox je génère plusieurs lignes provenant de ma base sql sous forme d'un tableau.

le code que j'ai posté fait parti d'une des cellules du tableau.


Pour récapituler ce que je voudrais faire :

-Je voudrais récupérer le champ name de mon bouton < "' . $data['id_weapon'] . '" > (qui correspond en réalité au nom de l'objet dans ma base sql) dans une autre page php ou je pourrais récupérer et traiter les données liées à l'objet.

Re: Données

Posté : 28 juil. 2014, 14:15
par sirakawa
Pour passer des valeurs d'une page à l'autre il existe la méthode post, la méthode get, et les sessions...

Re: Données

Posté : 28 juil. 2014, 14:40
par Siingers
J'ai essayé avec la méthode post mais ça n'a pas fonctionné ^^'

Je vais essayer avec get.


Merci pour ton aide en tout cas.

Re: Données

Posté : 28 juil. 2014, 15:01
par sirakawa
$post c'est via un formulaire get via la ligne de commande

Re: Données

Posté : 28 juil. 2014, 16:01
par Siingers
J'ai regardé plus attentivement l'utilisation de $_post et $_get.


Le truc c'est que je vois pas comment ça peut récupérer mes données.
J'ai le code suivant (dans un form bien entendu)
  
        echo '<tr>';
	echo '<td><center><img src="'.$data['img'].'" alt="" style="vertical-align:middle" id="icone"/></center></td>';
	echo '<td><center><a href="'.$data['url'].'">' . $data['name'] . '</a></center></td>';
	echo '<td><center>' . $data['level'] . '</center></td>';
	echo '<td><center><font color="' . $data['color'] . '">' . $data['grade_name'] . '</font></center></td>';
	echo '<td><center>' . $data['name_type'] . '</center></td>';
	echo '<td><center>' . $data['id_weapon'] . '</center></td>';
	echo '</tr>';

Le problème est que ce code est générer jusqu’à ce qu'il n'y ait plus d'objet dans la table(1 fois par objet).

Du coup il faudrait que j'arrive à récupérer les données de l'objet choisit.

Là si je fais un $_POST ça va planter vu que je dois avoir une centaine d'objets dans ma base .

Re: Données

Posté : 28 juil. 2014, 22:13
par Elie
<table><font><center> ne sont plus utilisés depuis un grand moment donc je m'inquiete un peu...
J'espere que t'es conscient qu'on sait toujours pas ce que tu veux faire.

Le bout de code que tu nous montre ne nous donnes aucune information.

Du coup il faudrait que j'arrive à récupérer les données de l'objet choisit.

tapage.php?id_choisi=1
$sql = "SELECT * FROM ta_table WHERE id_objet = ".$_GET['id_choisi'];

Re: Données

Posté : 28 juil. 2014, 23:20
par Siingers
j'utilise <table><font><center> car je trouve ça plus pratique pour mon code, certes c'est dépassé mais au moins je sais les utilisés. Mon but n'ai pas de faire du copié coller et de ne rien comprendre à un code.


Je vais essayé de réexpliquer :
    // on va scanner tous les tuples un par un
    while($data = mysql_fetch_assoc($req)) { //BOUCLE jusqu'à arriver à la fin de la table
    // on affiches les résultats dans la <table>

	echo '<form method="post" action="test.php">';
		echo '<tr>';
			echo '<td><center><img src="'.$data['img'].'" alt="" style="vertical-align:middle" id="icone"/></center></td>'; //récupère l'image de l'objet
			echo '<td><center><a href="'.$data['url'].'">' . $data['name'] . '</a></center></td>';//récupère le nom et l'url de l'objet
			echo '<td><center>' . $data['level'] . '</center></td>'; //récupère le level de l'objet
			echo '<td><center><font color="' . $data['color'] . '">' . $data['grade_name'] . '</font></center></td>'; //récupère le type de l'objet et le colorie suivant son type
			echo '<td><center>' . $data['name_type'] . '</center></td>'; // récupère le type de l'objet
			echo '<td><center>' . $data['id_weapon'] . '</center></td>'; // récupère l'identifiant de l'objet
		echo '</tr>';
	echo '</form>' ;
	
    }
Image

-> Ici il n'y a que 2 objets car c'est un exemple, mais en général je me retrouve avec une centaine d'objets.

J'aimerais que en cliquant sur n'importe quel "objet" je puisse récupérer les données de cet objet pour pouvoir les utiliser dans une autre page.

Re: Données

Posté : 29 juil. 2014, 07:53
par sirakawa
Je vais commencer par un exemple simple (quin'a pas de rapport direct avec le sujet)!
page1.php
<?PHP
$chaine = "<form method = 'post' action = 'recevoir.php' id ='formulaire'>
<input type = 'text' name = 'donnee' value = 'CBRS' />
<input type = 'text' name ='ville' value = 'Marseille' />
<button type = 'submit'>Envoyer</button>
</form>";
print "$chaine";
?>
recevoir.php
<?PHP
var_dump($_POST);
$donnee = $_POST['donnee'];
$ville = $_POST['ville'];
print "donnee $donnee ville $ville";
?>
Ensuite on verra comment rcommuniquer des données multipes comme mes tiennes....

Re: Données

Posté : 29 juil. 2014, 09:38
par Siigners
J'ai testé ton exemple sirakawa, il fonctionne niquel.

Par contre pour des données multiple, je ne vois pas trop comment différencier l'envoie de tel ou tel obje

Re: Données

Posté : 29 juil. 2014, 09:46
par sirakawa
Je m'occupe d'un exemple pour la suite.
<?PHP
/*pour simuler la base de données*/
$data = array(
	1 =>array ("nom"=>"objet1", "niveau"=>"1", "grade"=>"grade1", "type"=>"12"),
	2 =>array ("nom"=>"objet2", "niveau"=>"189", "grade"=>"grade28", "type"=>"123"),
);
print "<hr>Simulation de la BDD<hr>";
print_r($data);
$chaine = "<form method = 'post' action = 'recevoir.php' id ='formulaire'>";
foreach ($data as $ligne)
{
	$nom = $ligne['nom'];
	$niveau = $ligne['niveau'];
	$grade = $ligne['grade'];
	$type = $ligne['type'];
	$chaine .= "
	<input type = 'text' name = 'nom[]' value = '$nom' />
	<input type = 'text' name = 'niveau[]' value = '$niveau' />
	<br />";
}
$chaine .="<button type = 'submit'>Envoyer</button></form>";
print "$chaine";
?>
A la réception tu fais:
$noms = $_POST['nom'];
$niveaux = $_POST['niveau'];
et tu as des tableaux indicés de façon identique.

Re: Données

Posté : 29 juil. 2014, 10:10
par Siingers
Ok ! Merci beaucoup pour ton aide !!! :D



J'ai juste une petite question lié à ton exemple . Pour le moment j'ai réussi à l'adapter à ma requête et j'arrive à récupérer toutes les données souhaitées.
Je n'arrive pas à faire l'envoi des données vers une page extérieure. Mais je me doute que c'est parce qu'il faut réussir à différencier les différentes lignes de données à envoyer.

Ma question est : Le fait que mes données sont affichées dans une lightbox ne risque pas de poser problèmes ?
Désolé si cette question peut paraitre idiote, mais c'est la première fois que j'utilise des ligthbox ^^"

Re: Données

Posté : 29 juil. 2014, 10:47
par sirakawa
Je ne connais rien aux lightbox. Je ne sais pas si tu peux déplacer ta quesion dans le forum Javascript ici.