L'ajout de mon php supprime la suite de mon code

Eléphant du PHP | 104 Messages

26 juin 2009, 09:51

Bonjour. Bon ne sachant pas si ce post est mieux dans la partie php ou css, je post ici (puis si je me suis trompé un admin me fera changer de catégorie).


Alors voila le problème. Quand j'ajoute un morceau de code php dans ma page, tout ce qui ce trouve a la suite de ce code ne s'affiche plus.

En gros toutes les autres div deviennent inexistante.

Ce code me sert a ajouter une news d'un blog dans une tout petite reservé au site.

Il ce trouve donc dans un balises div qui est en absolu

J'ai aussi essayer de faire un include (ce qui m'arrange) mais je rencontre le même problème.

Le problème vient il du php ? (jamais rencontré ce problème...)

Ce que je comprend pas, c'ets que j'ai d'autres INSERT ou SELECT dans ma page, et je rencontre aucun problème.


Voici le code php :
<?php
//Je sélectionne toutes les catégories de la table
$sql = "SELECT post_content FROM wp_posts WHERE ID=LAST_INSERT_ID(ID)"; 
$enreg = mysql_query($sql) or die(mysql_error());
while ($rec = mysql_fetch_array($enreg)){
    $mots_complets = $rec['post_content'];    
    
//fonction limitation de mots
function debutchaine($chaine, $nbmots) { // 1er argument : chaîne - 2e argument : nombre de mots
    $max=50;
    if(strlen($chaine)>=$max){$chaine=substr($chaine,0,$max);
    $espace=strrpos($chaine," ");
    $chaine=substr($chaine,0,$espace).'... <a href="http://www.site.fr"><b>Lire la suite</b></a>'; }
//echo $chaine;
    $tab = explode(" ",$chaine);
        if (count($tab) <= $nbmots) {
            $affiche = $chaine;
        } 
        else {
            $affiche = "$tab[0]";
            for ($i=1; $i<$nbmots; $i++) {
                $affiche .= " $tab[$i]";
            }
        }
    return $affiche;
}

$nb_mots = 40;
$mot_courts = debutchaine($mots_complets, $nb_mots);
echo $mot_courts;
}

?> 

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 09:57

Ta fonction doit se trouver hors de ta boucle.

Montre nous où se trouve ce bout de code PHP dans ta page.

Eléphant du PHP | 104 Messages

26 juin 2009, 10:08

<div id="mid3">
        	<div id="news">
            	<div id="titre_news">News</div>
                <div id="image_news"></div>
                <div id="date_news">Le 26 juin 2009</div>
                <div id="txt_news"><?php include("nblog.php"); ?></div>
          </div>
            <div id="bv05"></div>
            <div id="who"><h2 class="who_titre">TITRE</h2>
            <br />
            <p>fjsdfj sqdf dskfj dsfdsf dsqjfsdkj fdsf dslkf sjdfkj kdsjf kdjskfj kdsjfqs</p>
          </div>
       	</div>
En faite tout ce qui est la suite ne s'affiche pas.. Alors a un moment je me suis demandé si ce n'était pas du a la limitation de caractère mais semblerait que non..

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 10:21

Non ça n'a rien à voir. Donc le fichier nblog c'est vraiment que le morceau de PHP que tu nous as fourni plus haut ?

Lorsque tu fais afficher la source, que vois-tu ?

Eléphant du PHP | 104 Messages

26 juin 2009, 10:30

non il y avait aussi le :
// Connexion au serveur
include 'admin/connectbddwp.php';
Sinon quand je fait afficher la source j'ai :

Code : Tout sélectionner

<div id="mid3"> <div id="news"> <div id="titre_news">News</div> <div id="image_news"></div> <div id="date_news">Le 26 juin 2009</div> <div id="txt_news">Bienvenue dans WordPress. Ceci est votre premier... <a href="http://www.site.fr"><b>Lire la suite</b></a>
Et la plus de suite.. Pas de fermeture div, et ni la suite du code..

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 10:46

C'est étonnant, je viens de tester et j'ai bien tout le code. Serait-il possible que dans le contenu du champ que tu affiches il y ait quelque chose qui pose souci ?

Fait un essai sur un autre ID pour voir.

Eléphant du PHP | 104 Messages

26 juin 2009, 10:54

Oo !!

Tu as raison, le problème vient de l'article qui est sur Wordpress.. Comment sa ce fait ? J'ai mis l'id du 1er article et sa fonctionne correctement..

Le truc c'est que si je récupere le dernier article, et que sa ne fonctionne pas.. mon code ne sert plus a rien xD

En tout cas merci pour ton aide

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 11:02

Montre nous le contenu du dernier champ.

Eléphant du PHP | 104 Messages

26 juin 2009, 11:07

En fait je viens de voir un ptit truc..

Il n'y a que 2 article. J'ai mis mon id=1, sa fonctionne. J'ai mis id=2 sa fonctionne.

Le problème vient bien de mon code, sur la partie :
WHERE ID=LAST_INSERT_ID(ID)
Me faudrait trouvé autre chose que le LAST_INSERT_ID(ID) poura ffciher le dernier resultat

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 11:11

Tu peux aussi faire un ORDER BY id DESC LIMIT 0,1

Eléphant du PHP | 104 Messages

26 juin 2009, 11:16

Moui c'est ce que je venais de faire. Je comprend pas pourquoi je l'ai pas fait depuis le début..

Merci pour ton aide, sans toi j'y serais jamais arrivé.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 juin 2009, 11:18

De rien ;)