Page 1 sur 3
questions en vrac
Posté : 27 août 2005, 15:30
par Ðjehouty
Bonjour
Voila je créé ce topic, car j'ai pleins de questions très diverses concernant la conception de mon
encyclopédie...
Question 1:
j'ai mis en place un système qui génère un article au hasard. Le problème, c'est que tout l'article apparait... Et ca tient de la place sur la page :/ Comment puis-je couper l'article, par exemple mettre les 500 premiers caractères? Est-ce possible d'intégrer une limite?
Question 2:
je voudrais mettre les articles du jour. Je pensais utiliser dans la requête sql quelque chose du type:
Est-ce une bonne idée, ou y-a-t'il mieux? Si c'est une bonne idée, comment paramétrer la date pour que la variable $ajd corresponde à la date d'aujourd'hui?
Voila c'est tout pour le moment... Merci d'avance!

Ðjehouty
Posté : 27 août 2005, 15:35
par Ðjehouty
Ah désolé, mes questions portent principalement sur les bases de données... Mais comme je suis pas sur que mes prochaines questions portent également dessus, je ne sais pas si j'ai bien fait de le mettre ici ?

Posté : 27 août 2005, 16:02
par Cyrano
Pour la question 1, as-tu essayé une recherche, ce sujet a déjà été traité en détail.
Pour la question 2, tu pourrais modifier la requête en mettant:
Je n'ai pas testé, mais ça devrait fonctionner et tu n'as pas besoin d'envoiyer de variable, le serveur de base de données calcule lui-même la date du jour avec NOW()
Posté : 27 août 2005, 17:08
par Ðjehouty
Merci Cyrano

Décidément, tu trouve la solution de tous mes problèmes

Je vais faire une recherche pour la question1

Posté : 27 août 2005, 19:18
par Ðjehouty
Je crois avoir trouvé la solution, mais c'est loin d'être parfait
<?php
//connexion, sélection bdd, et autres...
$req_has = mysql_query("SELECT * FROM wiki ORDER BY rand() LIMIT 1");
$article_hasard = wordwrap($req_has,50);
echo "$article_hasard"; //+ autres trucs de html
?>
Est-ce correct?

Posté : 27 août 2005, 22:27
par Cyrano
L'as-tu testé ?
Posté : 28 août 2005, 08:27
par Ðjehouty
Non pas encore, je n'ai pas accès à mon ftp...

Posté : 29 août 2005, 15:35
par Ðjehouty
Bon, voici le code que j'ai mis:
<?php
$req_hasard = mysql_query("SELECT * FROM wiki ORDER BY rand() LIMIT 1")
$article_hasard = wordwrap('$req_hasard','50'); // ligne 48
while ( $resultat = mysql_fetch_array($article_hasard))
{
print '<span class="add">'.$resultat[article_hasard].'<br>
<img src="images/icon_menu.gif" width="6" height="6"> <a href="?page=wiki&action=montrer&id='.$resultat[id].'">Suite</a></span><br>
}
mysql_close();
?>
E: il appaait un message d'erreur:
Parse error: parse error, unexpected T_VARIABLE in /home/anneaude/www/pages/wiki/lister.php on line 48
Je vois pas l'erreur...
Posté : 29 août 2005, 15:55
par tibougnat
c'est laquelle la ligne 48 ?
Posté : 29 août 2005, 17:46
par Ðjehouty
Bah, c'est comme le port-salut, c'est écrit dessus...
$article_hasard = wordwrap('$req_hasard','50'); // ligne 48
Tiens ca me fait penser (pas le fromage lol), quelqu'un connaitraît un site qui rescence toutes les erreurs du style "UNEXPECTED T_STRING", que je puisse trouver par moi même et apprendre?

Posté : 29 août 2005, 18:04
par tibougnat
tu peux trouver ça sur nexen je crois

désolé pour la ligne 48 j'avais pas vu
Posté : 29 août 2005, 18:07
par Ðjehouty
lol pas grave

Merci pour l'info, je vais y faire un tour

Posté : 29 août 2005, 18:07
par tibougnat
je pense qu'il faut que tu récupères la variable pour le wordwrap...
Code : Tout sélectionner
$req_hasard = mysql_query("SELECT texte FROM wiki ORDER BY rand() LIMIT 1");
$row=mysql_fetch_assoc($req_hasard);
$article_hasard = wordwrap("$row['texte']",'50'); // ligne 48
essaye pour voir si ça marche pas mieux, en l'adaptant bien sur
http://fr2.php.net/manual/fr/function.wordwrap.php pour en savoir plus
Posté : 29 août 2005, 18:15
par Ðjehouty
Non, toujours le même bug :/ Merci quand même pour ta proposition

Voici le nouveau code:
Code : Tout sélectionner
<?php
$req_hasard = mysql_query("SELECT * FROM wiki ORDER BY rand() LIMIT 1")
$row = mysql_fetch_assoc($req_hasard); //ligne 47
$article_hasard = wordwrap( $row['texte'], 50); //ligne 48
while ( $resultat = mysql_fetch_array($article_hasard))
{
print '<span class="add">'.$resultat[article_hasard].'<br>
<img src="images/icon_menu.gif" width="6" height="6"> <a href="?page=wiki&action=montrer&id='.$resultat[id].'">Suite</a></span><br>';
}
mysql_close();
?>
Posté : 29 août 2005, 18:18
par Ðjehouty
Ah pardon, c'est résolu, j'avais oublié un ; ... Mais il y a encore une erreur:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/anneaude/www/pages/wiki/lister.php on line 50
:/