8792 sujets
Bonjour et bienvenue,
Comme tu as pu le lire dans le sujet d'Annonce de ce salon, le but du forum Alsacréations n'est pas de répondre à des questions portant sur vos premiers pas en PHP, ou l'apprentissage des technologies serveurs en général, mais bien des interactions entre les langages serveurs et les Standards.
Je ne vais pas fermer ce sujet car des réponses pourraient t'être apportées, mais je préfère te signaler qu'il ne faut peut-être pas t'attendre à un miracle et qu'il serait préférable de consulter un forum dédié à PHP
Quelques précisions:
- la requête SQL, c'est la commande qu'en PHP tu demandes à MySQL (je veux cet enregistrement-là). C'est pas ça que tu veux limiter à 100 caractères je pense mais ce qu'elle renvoie.
- si tu ne veux pas compliquer la requête SQL, tu peux lui faire retourner l'intégralité du texte de la blague puis limiter l'affichage aux 100 premiers caractères du texte:
(voir l'exemple 6 dans la doc de sprintf une fonction proche)
- si tu affiches sur une seule page beaucoup de débuts de blague et que celles-ci sont longues, ça va faire beaucoup de texte renvoyé un peu pour rien par MySQSL. A ce moment-là, il vaut mieux optimiser avec RPAD. ou bien carrément stocker d'une part le texte complet et d'autre part le chapeau (enfin là c'est plus du tout de l'optimisation
)
Felipe
Comme tu as pu le lire dans le sujet d'Annonce de ce salon, le but du forum Alsacréations n'est pas de répondre à des questions portant sur vos premiers pas en PHP, ou l'apprentissage des technologies serveurs en général, mais bien des interactions entre les langages serveurs et les Standards.
Je ne vais pas fermer ce sujet car des réponses pourraient t'être apportées, mais je préfère te signaler qu'il ne faut peut-être pas t'attendre à un miracle et qu'il serait préférable de consulter un forum dédié à PHP

Quelques précisions:
- la requête SQL, c'est la commande qu'en PHP tu demandes à MySQL (je veux cet enregistrement-là). C'est pas ça que tu veux limiter à 100 caractères je pense mais ce qu'elle renvoie.
- si tu ne veux pas compliquer la requête SQL, tu peux lui faire retourner l'intégralité du texte de la blague puis limiter l'affichage aux 100 premiers caractères du texte:
printf ("%.100s ... (lien vers la suite)", $chaine);
(voir l'exemple 6 dans la doc de sprintf une fonction proche)
- si tu affiches sur une seule page beaucoup de débuts de blague et que celles-ci sont longues, ça va faire beaucoup de texte renvoyé un peu pour rien par MySQSL. A ce moment-là, il vaut mieux optimiser avec RPAD. ou bien carrément stocker d'une part le texte complet et d'autre part le chapeau (enfin là c'est plus du tout de l'optimisation

Felipe
Salut wiss49,
Pour completer ce que dit Felipe, oui tu ne peux de prendre qu'un seul enregistrement sur la table et l'afficher pour ensuite le couper au mot près.
Par exemple :
SELECT id, texte
FROM blague
ORDER BY RAND()
LIMIT 0, 1;
Il faut ensuite couper le texte à la longueur que tu veux (au mot près par exemple pour ne pas couper un mot)
ou alors ne retourner que 100 caractères (tant pis pour le mot) :
SELECT id, SUBSTRING(texte, 1, 100) as texte
FROM blague
ORDER BY RAND()
LIMIT 0, 1;
et ne traiter que l'affichage ensuite.
Voilà !
Pour completer ce que dit Felipe, oui tu ne peux de prendre qu'un seul enregistrement sur la table et l'afficher pour ensuite le couper au mot près.
Par exemple :
SELECT id, texte
FROM blague
ORDER BY RAND()
LIMIT 0, 1;
Il faut ensuite couper le texte à la longueur que tu veux (au mot près par exemple pour ne pas couper un mot)
ou alors ne retourner que 100 caractères (tant pis pour le mot) :
SELECT id, SUBSTRING(texte, 1, 100) as texte
FROM blague
ORDER BY RAND()
LIMIT 0, 1;
et ne traiter que l'affichage ensuite.
Voilà !