LupusMic

  • Signature
    Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    1 684
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Gourou

Ses derniers messages sur les forums

LupusMic
le 05/09/2006 à 01:38
Problème avec mysql_fetch_array()
C'est surtout que tu as oublié un espace :
$orderby = "ORDER BY DESC LIMIT 10";


Pour éviter ce genre de chose, j'écris comme ça :
$sql = "SELECT * FROM membres $clause $orderby" ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 04/09/2006 à 20:08
Namespaces et DomDocument::importNode
Bonjour,

J'ai un petit problème cosmétique. Voici, simplifié, la problématique :

Le document XML à importer :
adv.xml
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE adventures SYSTEM "adventures.dtd">
<adventures xmlns="adventures.dtd"
xmlns:html="http://www.w3.org/1999/xhtml">
<adventure id='adv-adoprixtoxis' kind='kind-sf'>
<title>Adoprixtoxis</title>
<synopsis>
<html:p>Une aventure spatiale !</html:p>
<html:p>Qui n'est pas terminée.</html:p>
</synopsis>
<opinion>
<html:p>Très bonne !</html:p>
<html:p>Mais faudrait en dire plus ;)</html:p>
</opinion>
</adventure>
</adventures>


La DTD qui dit comment qu'il doit être, mon XML :
adv.dtd
<!ELEMENT adventures (adventure)+ >
<!ELEMENT adventure (title,synopsis,opinion) >
<!ATTLIST adventure id ID #IMPLIED >
<!ATTLIST adventure title CDATA #IMPLIED >
<!ATTLIST adventure kind IDREF #IMPLIED >

<!ELEMENT title (#PCDATA) >
<!ELEMENT synopsis (#PCDATA)+ >
<!ELEMENT opinion (#PCDATA)+ >


Le script, en exécution locale, qui permet de générer la page d'index :
adv.php
<?php
$advsDoc = DomDocument::load('adventures.xml') ;
$advsListNode = $advsDoc->getElementsByTagName('adventure') ;
$templateDoc = DomDocument::load('idx-template.html') ;
$templateDoc->validate() ;
$contentNode = $templateDoc->getElementById('content') ;

$dlNode = $contentNode->ownerDocument->createElement('dl') ;
foreach($advsListNode as $advNode)
{
$filebase = $advNode->getAttribute('id') ;
$title = $advNode->getElementsByTagName('title')
->item(0)->nodeValue ;

$dtNode = $contentNode->ownerDocument->createElement('dt') ;
$ddNode = $contentNode->ownerDocument->createElement('dd') ;
$aNode = $contentNode->ownerDocument->createElement('a') ;

$aNode->nodeValue = "(&#8230;)" ;
$aNode->setAttribute('href', "$filebase.html") ;
$dtNode->nodeValue = "$title&#0010;:" ;
// $ddNode->nodeValue = "Premier p" ;

$pNode = $advNode->getElementsByTagName('synopsis')->item(0)
->getElementsByTagName('p')->item(0) ;
$pNode = $ddNode->ownerDocument->importNode($pNode, true) ;

$pNode->appendChild($aNode) ;
$ddNode->appendChild($pNode) ;
$dlNode->appendChild($dtNode) ;
$dlNode->appendChild($ddNode) ;

}
$contentNode->insertBefore($dlNode, $contentNode->lastChild) ;

$templateDoc->normalize() ;
$templateDoc->save("{$advsDir}index.html") ;
unset($templateDoc) ;
?>


Le template HTML de la page d'index :
adv.html
<?xml version="1.0" encoding="iso-8859-15"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<title>Aventures MP3</title>
<link rel="stylesheet" type="text/css" href="../style.css" />
</head>
<body>
<div id="body">
<div id="content">
<h1>Aventures.</h1>
<div class="section">
<p>
Voici la liste alphabétique des aventures
netophoniques&#0010;:
</p>
</div>
</div>
</body>
</html>


Le résultat :
index.html
<?xml version="1.0" encoding="iso-8859-15"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<title>Aventures MP3</title>
<link rel="stylesheet" type="text/css" href="../style.css" />
</head>
<body>
<div id="body">
<div id="content">
<h1>Aventures.</h1>
<div class="section">
<p>
Voici la liste alphabétique des aventures
netophoniques&#0010;:
</p>
<dl><dt>Adoprixtoxis
:</dt>
<dd xmlns:html="http://www.w3.org/1999/xhtml">
<p xmlns:html="http://www.w3.org/1999/xhtml">Une aventure spatiale !
<a href="adv-adoprixtoxis.html">(&#8230;)</a></p></dd></dl>
</div>
</div>
</body>
</html>


Comme vous le constaterez, malgréle namespace commun, libxml me rajoute des déclarations XML. Avez-vous déjà rencontré le problème et résolu la chose de manière élégante ?

(Désolé de ne pas utiliser le Wall, mais il n'est pas très adapté à mon problème ;))

Merci !
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 04/09/2006 à 11:50
Devop Portal
Juste rapidement : c'est sobre et beau. Ce qui serait bien, c'est que le menu reste déployé lorsqu'on est dans une rubrique.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 04/09/2006 à 10:39
Liste à partir d'un champ
(Superleseb) Comem tu l'as souligné, en PHP il est débutant. Et comme il l'a précisé, il n'est pas forcément débutant en programmation pure.

(cduf76) Une petite base pour commencer, à insérer dans au sein de ton HTML :


<form>
<select name="un_nom>
<?php
$result = mysql_query('select * from table_a_afficher') ;
while($tuple = mysql_fetch_array($result))
echo "<option id='${tuple[0]}'>${tuple[1]}</option>" ;
?>
</select>
</form>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 03/09/2006 à 18:24
Liste à partir d'un champ
Quel est ton niveau en programmation ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 02/09/2006 à 03:36
cookies sous firefox
(Bzh) Ce n'est pas mal foutu, c'est une autre façon de penser. D'ailleurs, j'ai toujours trouvé stupide de mettre les fichier de configuration à la racine du répertoire racine. Ça pollue mon répertoire maison...

Bref, chez moi, de toute façon, les maisons utilisateurs sont dans /home/$group/$user :p
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 01/09/2006 à 09:39
Rafraichir une frame
Le problème est que les informations seront perdues lors du rafraichissement.

Tu devrais utilisé un timer piloté depuis la page définissant les frames.

Reste que ça reste moche.

Pourquoi pas des sessions qui expirent ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 31/08/2006 à 17:52
encore des problèmes avec mysql 5
Je voulais dore, quelle version a été utilisée pour créer la table dans un premier temps ? Il se peut que MySQL 3 ou 4 étaient plus laxistes.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 31/08/2006 à 17:51
Site e-commerce
Elle ne sais pas du tout ce qu'est un cahier des charges, donc on va faire plus simple :

La liste des fonctionnalités souhaitées.
Les croquis des écrans web.
La description des événement (story board).

Une fois que tu sais ce que tu veux, tu peux tout faire !
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 31/08/2006 à 17:46
resultat d'un sondage en graphique
Modifie le script comme ceci :

$pourcentage = $data["nbVote"] * 100 / $total;

echo "t<tr><td>".$rep[$i]." : </td><td>".round($pourcentage)." %</td><td><img src="barre.gif" width="'.round($pourcentage).'"></td></td></tr>n";
}

echo "</table>n";
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours