besoin d'une corection sur affichage BDD

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 : besoin d'une corection sur affichage BDD

Re: besoin d'une corection sur affichage BDD

par neomega » 06 juin 2011, 23:51

c bon je vien de trouver tout seul il sufisai de faire sa :
<!--conexion a la bas e de donnée-->
<?php include("infobase.php"); ?>

<?php 
//envoie de la requette qui recupere les info dans les base de donnée
$req = mysql_query("SELECT * FROM liens, contenue"); 


// commande qui recupére mes données

while($data = mysql_fetch_array($req))
{
    // Récupération de tes données dans $data
    $tab[$data['LinkID']] = $data;
		$tab2[$data['id']] = $data;
}

?> 

et pour afficher les donné :
//dans ma table 1
<?php echo $tab[1]['contenue']; // champ contenue table 1 dont l'id est 1 ?>

//dans ma table2
<?php echo $tab2[1]['contenue']; // champ content table 2 dont LinkID est 1 ?>
mais merci pour votre aide et votre patience :oops:

Re: besoin d'une corection sur affichage BDD

par moogli » 06 juin 2011, 22:12

les message sont clairs les index utilisés ne sont pas bon.

donc id et LinkID ne sont pas récupérés dans la requête SQL (d'ailleurs c'est certain tu demande content et contenue ;) )

pour mieux comprendre affiche la requête SQL ;) (tu peux aussi la tester avec phpmyadmin ou la console mysql).


@+

Re: besoin d'une corection sur affichage BDD

par neomega » 06 juin 2011, 16:23

quant je met les code que vous m'avez fourni sa me met sa :
et sa le répété plein plein de fois

Code : Tout sélectionner

Notice: Undefined index: id in /homepages/11/d257698003/htdocs/mon dossier de test/index2.php on line 34 Notice: Undefined index: LinkID in /homepages/11/d257698003/htdocs/mon dossier de test/index2.php on line 35
et completement en bas les 2 derniere erreur sont

Code : Tout sélectionner

Notice: Undefined offset: 1 in /homepages/11/d257698003/htdocs/mon dossier de test/index.php on line 44 Notice: Undefined offset: 1 in /homepages/11/d257698003/htdocs/mon dossier de test/index.php on line 45

Re: besoin d'une corection sur affichage BDD

par moogli » 06 juin 2011, 15:08

premier ligne ajoute

Code : Tout sélectionner

<?php error_repporting(E_ALL | E_STRICT); ?>
si tu tourne avec php4 enlève le | E_STRICT ;)

cela va t'afficher les erreurs ;)

ton code pourrais etre comme ça
<?php
if (substr(phpversion(),0,1) >= 5){
	error_reporting(E_ALL | E_STRICT);
}
else {
	error_reporting(E_ALL);
	}
//<!--Connexion à la base de donnée -->
include("infobase.php");
//<!--debut recuperation des données sur la base-->';
// recuperation des données
// table    = choix de la table 1
// table2   = choix de la table 2
// champ    = choix du champ qui m'interesse dans la table 1
// champ2   = choix du champ qui m'interesse dans la table 2

$table = "contenue";
$table2 = "liens";
$champ = "content";
$champ2 = "contenue";

$sql = 'SELECT '.$champ.', '.$champ2.' FROM '.$table.', '.$table2.'';  
 
// on lance la requête (mysql_query) et on impose un message d erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
// on recupere le resultat sous forme d'un tableau
//$data = mysql_fetch_array($req);  Cette ligne ne sert plus à rien
 
// commande qui recupére mes données
while($data = mysql_fetch_array($req))
{
    // Récupération de tes données dans $data
    $tab[$data['id']] = $data;
        $tab2[$data['LinkID']] = $data;
}
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);  
mysql_close ();  
//<!--fin   recuperation des données sur la base-->
echo $tab[1]['content']; // contenue table 1 dont l'id est 1
echo $tab2[1]['contenue']; // contenue table 2 dont l'id est 1
?>
@+

Re: besoin d'une corection sur affichage BDD

par neomega » 06 juin 2011, 14:18

voici mon code complet

quand je vais sur la page rien n’apparaît même pas de code d’erreur
voici l'url de ma page de test "http://www.neomega.fr"



<!--Connexion à la base de donnée -->
	<?php include("infobase.php"); ?> 
<!--debut recuperation des données sur la base-->

<?php
// recuperation des données 
// table    = choix de la table 1
// table2   = choix de la table 2
// champ    = choix du champ qui m'interesse dans la table 1
// champ2   = choix du champ qui m'interesse dans la table 2

$table = "contenue";
$table2 = "liens";
$champ = "content";
$champ2 = "contenue";


$sql = 'SELECT '.$champ.', '.$champ2.' FROM '.$table.', '.$table2.'';  
 
// on lance la requête (mysql_query) et on impose un message d erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
// on recupere le resultat sous forme d'un tableau
//$data = mysql_fetch_array($req);  Cette ligne ne sert plus à rien
 
// commande qui recupére mes données
while($data = mysql_fetch_array($req))
{
    // Récupération de tes données dans $data
    $tab[$data['id']] = $data;
	$tab2[$data['LinkID']] = $data; 
}
 
 
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);  
mysql_close ();  
?>
<!--fin   recuperation des données sur la base-->


<?php
echo $tab[1]['content']; // contenue table 1 dont l'id est 1
?>
<?php
echo $tab2[1]['contenue']; // contenue table 2 dont l'id est 1
?>

Re: besoin d'une corection sur affichage BDD

par moogli » 06 juin 2011, 14:08

salut,

c'est qui l'erreur ? une erreur PHP ? SQL ?

ton code actuel n'est bien entendu pas correct ( le while ( ...) par exemple).

A tu affiché la requête sql pour voir si elle est conforme a tes attentes ?

donc pour t'aider il nous faut :
- le ou les messages d'erreurs
- le code réel complet

@+

besoin d'une corection sur affichage BDD

par neomega » 06 juin 2011, 13:53

bonjour j 'essaye de recuperer des info dans mes base sql mai sa me met erreur a chaque fois

pourriez vous me corrigé (si possible avec une mini explication que j'evite la prochaine fois de poser la meme question )

voici mon code :
<!--Connexion à la base de donnée -->
	<?php include("infobase.php"); ?> 
<!--debut recuperation des données sur la base-->
 
<?php
// recuperation des données 
// table    = choix de la table 1
// table2   = choix de la table 2
// champ    = choix du champ qui m'interesse dans la table 1
// champ2   = choix du champ qui m'interesse dans la table 2
 
$table = "contenue";
$table2 = "liens";
$champ = "content";
$champ2 = "contenue";
 
 
$sql = 'SELECT '.$champ.', '.$champ2.' FROM '.$table.', '.$table2.'';  
 
// on lance la requête (mysql_query) et on impose un message d erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);  
 
// commande qui recupére mes données
while(....)
{
    // Récupération de tes données dans $data
    $tab[$data['id']] = $data;
	$tab2[$data['LinkID']] = $data; 
}
 
 
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);  
mysql_close ();  
?>
<!--fin   recuperation des données sur la base-->
 
 
<?php
echo $tab[5]['content']; // contenue table 1 dont l'id est 5
?>
<?php
echo $tab2[1]['contenue']; // contenue table 2 dont l'id est 1
?>