questions en vrac

Eléphant du PHP | 55 Messages

27 août 2005, 15:30

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

Eléphant du PHP | 55 Messages

27 août 2005, 15:35

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

Mammouth du PHP | 19672 Messages

27 août 2005, 16:02

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()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 55 Messages

27 août 2005, 17:08

Merci Cyrano ;) Décidément, tu trouve la solution de tous mes problèmes :)
Je vais faire une recherche pour la question1 :|

Eléphant du PHP | 55 Messages

27 août 2005, 19:18

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

Mammouth du PHP | 19672 Messages

27 août 2005, 22:27

L'as-tu testé ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 55 Messages

28 août 2005, 08:27

Non pas encore, je n'ai pas accès à mon ftp... :(

Eléphant du PHP | 55 Messages

29 août 2005, 15:35

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...

Eléphant du PHP | 50 Messages

29 août 2005, 15:55

c'est laquelle la ligne 48 ?

Eléphant du PHP | 55 Messages

29 août 2005, 17:46

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

Eléphant du PHP | 50 Messages

29 août 2005, 18:04

tu peux trouver ça sur nexen je crois :)
désolé pour la ligne 48 j'avais pas vu

Eléphant du PHP | 55 Messages

29 août 2005, 18:07

lol pas grave ;) Merci pour l'info, je vais y faire un tour ;)

Eléphant du PHP | 50 Messages

29 août 2005, 18:07

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

Eléphant du PHP | 55 Messages

29 août 2005, 18:15

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(); ?>

Eléphant du PHP | 55 Messages

29 août 2005, 18:18

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