Souci de MySQL - Programmation
 


Sujet auquel vous répondez
Sujet : Souci de MySQL
elendilm Salut,

 

1 seul conseil:

 

évites de mettre sur un forum ton login et ton pass de connexion sur ta Bdd !!!
ça fait désordre.

 


Ensuite, ta requête te retourne une liste de ligne:
http://www.infos-du-net.com/forum/ [...] nnee-mysql

 

Il te faut parcourir les résultats .

 

Ton array donnees, il vient d'où ?

 


de rien!
:)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][flash]Insérer un code de video fourni[*]  
 
   [quote]
 


Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Jeannotdu37 erf, j'ai du réinstaller windows, et j'ai pas remis WAMP ...
LIMIT 5, ça afficherait seulement 5 ?
Tandis que LIMIT 0, 5 ça affiche une ensemble de 0 à 5 ?
elendilm Enlève ton LIMIT 0,5 ,remplace par LIMIT 5 .

 

=> LIMIT xxx,xxxx (offset/nombre) => dans ton cas, l'offset ne sert pas vraiment non ?

 

puis:
ta requete lancée dans phpMyAdmin ?

Jeannotdu37 echo ($req) donne : Resource id #3

 

print_r($data) donnc : Array ( [0] => Jean [titre] => Jean [1] => Jean est le plus beau [contenu] => Jean est le plus beau [2] => 1202913998 [timestamp] => 1202913998 )

elendilm fais un print_r($data)

Fais un echo($req) et lances la à la main dans phpMyAdmin .
Jeannotdu37 Ca affiche une autre news, mais qu'une seule :D

 

Pfiou ! J'savais pas qu'il y avait autant de codes de programmation ^^ Eh beh, si il faut que je les apprennent tous ...

 

J'avoue, le MySQL, ça me fait un peu peur ^^

elendilm Ca devrait marcher ton LIMIT ...

 


Ensuite pour la/les 1eres, la/les dernieres: ton order by (ASC ou DESC)

Jeannotdu37 ^^ Ça fonctionne, mais je n'ai que la première news, et je souhaiterais afficher les 5 dernières news :)

 

PS : Ah, okay, j'ai pigé l'array :) Merci :)

elendilm d'après toi ?

 

(et penses aussi à fermer la parenthèse!)

Jeannotdu37 C'est plutôt while au lieu de whille ?
elendilm Quand tu clic sur le lien, qui t'envoie sur la page dont tu parlais plus haut, rien ne te dis que les variables suivent!

 

Une fonction pratique pour du debug:
print_r
Fais un print_r($donnees) et, meme si ca pête ta page, tu verra le contenu de ta variable.

  

Je repete donc :)

 
Code :
  1. // On récupère les 5 dernières news
  2. $sql = 'SELECT * FROM news ORDER BY id DESC LIMIT 0, 5';
  3. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  4. $data = mysql_fetch_array($req);
  5. {
  6. ?>
  7. <div class="news">
  8.     <h3>
  9.         <?php echo $donnees['titre']; ?>
  10.         <em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
  11.     </h3>
 

==> Ta requete , tu la parcours sur $data, pourquoi alors reprendre donnees ?????

 

<div class="news">
<?
whille($data=mysql_fetch_assoc($req)
{
echo $data['titre'];
echo "<em>le ";
echo date('d/m/Y à H\hi', $data['timestamp']);
echo "</em>";
}
?>

 

Ps:

 

un array, c'est tout "simplement" , un tableau...
2 types majeurs d'array:

 

Nommé
$toto=array('AAA'=>"toto",'BBB'=>"tata" );
où tu peux accéder aux cases du tableau par leur indice (0,1 ..n) ou par leur nom
$toto['AAA'] est valide.

 

Non nommé
$toto=array("toto","tata" );
Uniquement par leur indice.

 

Pour être plus con, tu peux aussi définir un array en indiquant l'indice de départ :)

 


=> http://fr3.php.net/manual/fr/ref.array.php

 

Juste pour info, ça peut souvent être pratique quand tu utilise des arrays pour remplir des entetes de colonnes (pour générer des tableaux sur du pdf par exemple):
Tu peux récuperer , dans un autre array, la liste des clés d'accès d'un array ...... (ouf !)

 


$toto=array("a"=>"toto","b"=>"tutu" );
$tata=array_keys($toto);

 


===> $tata contient donc "a","b" :)

  

Jeannotdu37 Ouh la vache, quel con je suis ^^

Je laisse mes identifiants ^^

A vrai dire, je n'ai jamais compris les array :(

Ce array il vient d'une autre page :

Citation :

mysql_connect("sql.hostarea.org", "haha", "mouhaha" );
mysql_select_db("e-nigmes" );

if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')" );
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'" );
}
}


if (isset($_GET['supprimer_news']))
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC') or die(mysql_error());
while ($donnees = mysql_fetch_array($retour));
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
}
mysql_close();
?>
</table>

elendilm Salut,

 

1 seul conseil:

 

évites de mettre sur un forum ton login et ton pass de connexion sur ta Bdd !!!
ça fait désordre.

 


Ensuite, ta requête te retourne une liste de ligne:
http://www.infos-du-net.com/forum/ [...] nnee-mysql

 

Il te faut parcourir les résultats .

 

Ton array donnees, il vient d'où ?

 


de rien!
:)

Jeannotdu37 Bonjour/Bonsoir :)

 

Je travaille actuellement sur un site-jeu en cours de préparation.
Je travaille sur un script de news, les pages sont correctes, les données rentrent dans la Base de Données (Titre, contenu et timestamp) ... Seul hic, les informations de la base de données, ben elles s'affichent pas sur ma page d'accueil.

 

Alors, voici mon code sur la page d'accueil :

Citation :

<?php
mysql_connect("sql.hostarea.org", "" );
mysql_select_db("e-nigmes" );
// On récupère les 5 dernières news
$sql = 'SELECT * FROM news ORDER BY id DESC LIMIT 0, 5';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
{
?>
<div class="news">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>

<p>
<?php
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p>
</div>
<?php
} // Fin de la boucle des news
?>

 

Je ne vois pas le problème, pourtant, j'ai regardé des tutoriaux et mon code tout l'après-midi :)

 

Votre aide est la bienvenue :)

Liens