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:

Code : Tout sélectionner

SELECT id,titre,date FROM matable WHERE date='$ajd'
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:

Code : Tout sélectionner

SELECT id,titre,date FROM matable WHERE date=TO_DAYS(NOW())
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
Image

:roll:

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
:/