Page 1 sur 2

Connexion à une table MySql

Posté : 14 mai 2015, 16:59
par banania
Bonjour,
je me heurte à un probleme (ca devient assez fréquent pour moi ces temps-ci x)
Voici mes nombreuses erreur:
Mysqli_connect unkonwn database ficheclub (alors que pourtant elle existe --')
Undefined index: value
Mysqli queri expect parameter 1 to be mysqli boolean given
Mysqli_fetch_array expect parameter 1 to be mysqli_result null given

Avez vous des idées pour corriger cela?
Merci d'avance ;-)
Voici mon code:
//on se connecte a l base de donnes
$link = mysqli_connect("localhost","root","","ficheclub");

//on prend les info de la table en faisant le tri pour ne prendre que la ligne du club selectioné précedement
$query = "SELECT * FROM ficheclub where nom='".$_POST['value']."'";
$result=mysqli_query($link,$query);		
 
	echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
	echo( "<tr>
	<td><div align=\"center\">nom du club</div></td>
	<td><div align=\"center\">initiales</div></td>
	<td><div align=\"center\">president</div></td>
	<td><div align=\"center\">entraineur</div></td>
	</tr>");

 while($row = mysqli_fetch_array($result)) { 
	echo("<td><div align=\"center\">".$result["nomLONG"]."</div></td>\n" );
	echo( "<td><div align=\"center\">".$result["nom"]."</div></td>\n" );
	echo( "<td><div align=\"center\">".$result["president"]."</div></td>\n" );
	echo( "<td><div align=\"center\">".$result["entraineur"]."</div></td>\n" );
	echo( "</tr>\n" );
}

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:06
par tof73
le nom de la base de donnée, ce n'est pas pareil que le nom d'une table d'une base de donnée.
la base de donnée ne s'appelle pas ficheclub d'où le message d'erreur.

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:33
par banania
Merci j'ai changé ca
Il ne me reste plus qu'une erreur :
Undefined index: name
name est une valeur que je poste grace a une menu déroulant sur une autre page
La page que vous avez comme code ci dessus est applée grace a la methode jquery
pouvez vous m'aider svp?

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:38
par Saian
Undefined index c'est quand tu essaies d'accéder à un index non défini d'un tableau.
On ne voit aucune tentative d'accès à un index name dans ton code.

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:44
par banania
ah oui au temps pour moi j'avais changé quelque chose :
name a été remplacé pas value dans .$_POST['value'].
donc du coup :Undefined index: value

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:46
par Saian
Le formulaire est-t-il bien soumis en post ? tu parles de jquery, la valeur de la liste déroulante est-elle bien envoyée dans ce code jquery ?

Re: Connexion à une table MySql

Posté : 14 mai 2015, 17:50
par banania
// recuperation des clubs
$.ajax({
url: "serveur/ficheclub.php",
type:"POST",
data: '$_POST['club']=' + club,
success: function( data ) {
$( "#ficheclub" ).php( data );
}
});

Ah oui du coup il faudrait que je mette : ?
data: '$_POST['name']=' + name,

EDIT selection dans la liste deroulante:
<select value="club">

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:03
par Saian
Dans les exemples ici : http://api.jquery.com/jquery.ajax/
$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
Donc dans ton cas ce serait plutôt :
$.ajax({
  url: "serveur/ficheclub.php",
  type:"POST",
  data: { club: $('select[name="club"]').val() },
  success: function(data) {
    $("#ficheclub").php(data);
  }
});
Et côté PHP tu peux utiliser $_POST['club'].

Attention par contre ton select n'a pas d'attribut name, il faut que tu l'ajoutes pour que ça fonctionne.

Tu peux aussi lui mettre un attribut id et utiliser la syntaxe suivante pour récupérer la valeur (en admettant que l'id soit égale à club bien sur) :
$('select#club').val()

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:12
par banania
bon j'ai changé ce que tu m'a proposé mais la meme erreur reste :
undefined index : club
j'ai changé le $_POST['name'] en $_POST['club'] sur la seconde page (il fallair bien le changer la??)
J'ai aussi mit l'attibut club du coup au select

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:18
par Saian
Si tu as un undefined index club, c'est qu'à priori tu n'as pas fait ce que je t'ai suggéré.

Avec ça :
$.ajax({
  url: "serveur/ficheclub.php",
  type:"POST",
  data: { club: 'toto' },
  success: function(data) {
    $("#ficheclub").php(data);
  }
});
$_POST['club'] doit être égal à toto.

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:24
par banania
je ne comprend pas... Il faut que je mette :
$_POST[' $('select[name="club"]').val() ']
?
(dans la page appelée?)

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:31
par Saian
Tu mélanges javascript et php.
$_POST c'est le tableau php des variables transmises en post.
$('select[name="club"]').val() c'est du jquery permettant de récupérer la valeur de la liste déroulante <select name="club">.

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:39
par banania
ba du coup j'ai bien:
$.ajax({
  url: "serveur/ficheclub.php",
  type:"POST",
  data: { club: $('select[name="club"]').val() },
  success: function(data) {
    $("#ficheclub").php(data);
  }
});
sur la premiere page
et sur la seconde page :
$query = "SELECT * FROM ficheclub where nom=' ".$_POST['club']." ' ";
Mais ca ne marche pas :/

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:44
par Saian
As-tu bien ajouté l'attribut name sur ton select ?

<select value="club"> ça n'existe pas.

Un select c'est :
<select name="club">
  <option value="club 1">Club 1</option>
  ...
</select>

Re: Connexion à une table MySql

Posté : 14 mai 2015, 18:47
par banania
EDIT
par contre, apres <select name="club">,
<option value=...
value n'est réutilisé nul part
c'est normal ou pas?