équivalence mysql de include en php ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : équivalence mysql de include en php ?

par KevBrok » 25 févr. 2006, 19:02

Pour stocker sous forme de texte des tableaux et/ou objets, il existe la fonction serialize() de PHP.

Donc tu as ton tableau que tu "serialize", ensuite tu peux le sauvegarder dans ta BDD. Quand viendera le moment de réutiliser ce tableau, tu utilise unserialize() pour obtenir le tableau d'origine. Aussi simple que ça.

Pour t'aider:
http://php.net/serialize/
http://php.net/unserialize/

par Dominic » 25 févr. 2006, 11:05

Je te remercie de ta réponse , j"ai longtemps hésité entre le forum php4
et le forum bases effectivement.
Ta formule parait excellente à prioiri ,bien qu"elle oblige à fractionner ligne à ligne mon ensemble de tableaux.
Je pense qu'il n'y a donc pas d'instruction mysql qui équivale à un include.
je vais essayer d'adapter ta formule en sachant que j'ai 250 pages environ et que le contenu de mon exemple est le + petit de loin en nb de lignes.
Il ne faudrait pas que le code généré représente une masse à gérer supérieure au gain espéré en terme de maintenance
Je te remercie à nouveau vivement de ta contribution

par mario » 24 févr. 2006, 21:48

J'ai essayé de te faire un exemple mais n'ayant pas d'indication sur ce que contient tes array(), je fais quelque chose de très basique. J'espère que ça te permettra de trouver une solution.
<?php
/*

-- 
-- Structure de la table `matable_exemple`
-- 

CREATE TABLE `matable_exemple` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `reference` varchar(50) NOT NULL,
  `designation` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

-- 
-- Contenu de la table `matable_exemple`
-- 

INSERT INTO `matable_exemple` VALUES (1, 'abc123', 'Poulies');
INSERT INTO `matable_exemple` VALUES (2, 'def456', 'Belts');

*/

// J'établie une connexion à la base de donnée
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('test2') or die(mysql_error());

// J'effectue une requête pour obtenir la liste des références par ordre de désignation
$sql = "SELECT reference, designation 
FROM matable_exemple
ORDER BY designation";

// J'exécute la requete
$req = mysql_query($sql) or die(mysql_error());
// Je créé un tableau pour stocker les données
$tab = array();

// Je parcours chaque enregistrement de la table MySQL
while($ligne = mysql_fetch_array($req)){
  // Je rempli le tableau
  $tab[] = array('reference'=>$ligne['reference'], 'designation'=>$ligne['designation']);
}

// Pour t'indiquer ce que contient le tableau ...
echo "<pre>";
print_r($tab);
echo "</pre>";

// Voici le résultat
/*
Array
(
    [0] => Array
        (
            [reference] => def456
            [designation] => Belts
        )

    [1] => Array
        (
            [reference] => abc123
            [designation] => Poulies
        )

)
*/
?>
Ton titre ne correspond pas à ce que tu cherches à faire et ce sujet a toute sa place dans php4.
Je ne suis pas pro dans la création de PDF (avec PHP) donc j'espère ne pas te mettre sur une mauvaise voie.
Conseil: réfléchis bien à la structure de ta table.

équivalence mysql de include en php ?

par Dominic » 24 févr. 2006, 15:30

Bonjour,
j'ai actuellement un catalogue pièces dont j'édites les pages avec des tableaux de valeurs qui sont stockés dans un fichier
et appelés avec un include pour éditer, soit du html, soit du pdf au choix du client
exemple :
<?
$pagetitre=array('POULIES, COURROIES','PULLEYS, BELTS','','');
$liste1=array('0518','0519','0504','0522','0501','0506','0508','0528','0509');
$soustitre2=array('ARBRE A CAMES',' CAMSHAFT ','',''); 
$liste2=array('0197') ;
$soustitre3=array('DISTRIBUTION','TIMING','',''); 
$liste3=array('0502','0503','0523') ;
$soustitre4=array('COURONNES DE DEMARREUR A110 1300 - 1600','STARTER RINGS',''); 
$liste4=array('0701');
je souhaiterais savoir si quelqu'un connait le moyen de stocker ceci dans un champ mySql et de l'appeler en équivalent d'un include, car en utilisant une requête classique ce contenu est interprêté comme du texte et non comme des tableaux de valeurs. Et de plus cela oblige à utiliser print ou echo ce qui est incompatible avec FPDF qui ne doit envoyer aucune instruction au navigateur avant la sortie en pdf.

Merci pour les tuyaux.