pierre3

  • Nombre de sujets
    3
  • Nombre de messages
    12
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

pierre3
le 30/06/2006 à 17:14
Récuéer le nombre de lignes
Merci LupusMic,

Cela veux dire qu'il n'est pas possible avec cette fonction de récupérer le nombre de lignes.

Mais en PEAR (je débute) je suis bien obligé d'utiliser des fonctions comme celle-ci.

C'est donc limitatif ?
pierre3
le 30/06/2006 à 15:05
Récuéer le nombre de lignes
Le voici

include("../inc/conf.php");
include("../inc/fonctions.php");
include("../verif.php");
// Déclaration Smarty
require('gestelle/setup.php');
$smarty = new Smarty_gestelle;
// Récupération des variables de recherche
$var_rec_nom=$_SESSION["var_rec_nom"];
$var_rec_prenom=$_SESSION["var_rec_prenom"];
$var_rec_numero=$_SESSION["var_rec_numero"];
// PEAR
// La bibliothèque PEAR doit être dans le include_path
require_once 'DB.php';
// L'annuaire de base de PEAR doit être dans votre include_path
// Data Source Name: $dsn C'est le lien universel de connexion
$dsn = "mysql://$user_db:$password_db@$host_db/$bdd_db";
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL,
);
// DB::connect renverra un objet DB de PEAR avec succès
// ou un objet d'erreur de DB PEAR sur l'erreur
// Vous pouvez également placer TRUE comme deuxième paramètre
// si vous voulez une connexion persistante :
// $db = DB::connect($dsn, true);
$db = DB::connect($dsn, $options);
// Avec DB::isError vous pouvez différencier entre une erreur ou une connection valide.
if (DB::isError($db))
{
die ($db->getMessage());
}

// Aiguillage vers la gestion du dossier ou vers sa modification
if (!empty($_POST))
{
if (isset($_POST['Choisir']))
{
$_SESSION['maj_id']=$_POST['id_maj'];
header("Location: gestion_majeur.php");
}
elseif(isset($_POST['Modifier']))
{
$_SESSION['maj_id']=$_POST['id_maj'];
header("Location: modifier_majeur.php");
}
}
// Boucle de chargement du tableau d'affichage des majeurs en fonction des critères de recherche

$nb_majeur = 2000;

if (!@$start)
{
$start=0;
}

if ($var_rec_nom != "")
{
$req = "SELECT `id_maj`, `maj_num_dos`, `maj_civilite_id`, `maj_nom`, `maj_prenom`, `maj_prenom_usage`, `maj_nom_j_fille`, `maj_situation_fam`, `maj_tel`, `maj_gsm`, `maj_email`, `maj_naissance_date`, `maj_naissance_ville`, `maj_naissance_cp`, `maj_naissance_pays_id`, `maj_naissance_nationalite_id`
FROM ".$prefixe_table."`maj_etat_civil` WHERE maj_nom like '%$var_rec_nom%' limit $start,$nb_majeur";
}
else
{
if ($var_rec_prenom != "")
{
$req = "SELECT `id_maj`, `maj_num_dos`, `maj_civilite_id`, `maj_nom`, `maj_prenom`, `maj_prenom_usage`, `maj_nom_j_fille`, `maj_situation_fam`, `maj_tel`, `maj_gsm`, `maj_email`, `maj_naissance_date`, `maj_naissance_ville`, `maj_naissance_cp`, `maj_naissance_pays_id`, `maj_naissance_nationalite_id`
FROM ".$prefixe_table."`maj_etat_civil` WHERE maj_prenom like '%$var_rec_prenom%' limit $start,$nb_majeur";
}
else
{
if ($var_rec_numero != "")
{
$req = "SELECT `id_maj`, `maj_num_dos`, `maj_civilite_id`, `maj_nom`, `maj_prenom`, `maj_prenom_usage`, `maj_nom_j_fille`, `maj_situation_fam`, `maj_tel`, `maj_gsm`, `maj_email`, `maj_naissance_date`, `maj_naissance_ville`, `maj_naissance_cp`, `maj_naissance_pays_id`, `maj_naissance_nationalite_id`
FROM ".$prefixe_table."`maj_etat_civil` WHERE maj_num_dos like '%$var_rec_numero%' limit $start,$nb_majeur";
}
else
{
$req = "SELECT `id_maj`, `maj_num_dos`, `maj_civilite_id`, `maj_nom`, `maj_prenom`, `maj_prenom_usage`, `maj_nom_j_fille`, `maj_situation_fam`, `maj_tel`, `maj_gsm`, `maj_email`, `maj_naissance_date`, `maj_naissance_ville`, `maj_naissance_cp`, `maj_naissance_pays_id`, `maj_naissance_nationalite_id`
FROM ".$prefixe_table."`maj_etat_civil` ORDER BY `maj_nom`, `maj_prenom` limit $start,$nb_majeur";
}
}
}

// Initialisation de la lecture avec génération d'un tableau ayant le nom du champ comme index
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$majeurs = $db->getAssoc($req);


if (PEAR::isError($majeurs)) {
die($majeurs->getMessage());
}

// $nbLignes = DB_result::numRows();

// Affichage
$smarty->assign ("var_rec_nom", $var_rec_nom,
"var_rec_prenom", $var_rec_prenom,
"var_rec_numero", $var_rec_numero);
$smarty->assign("majeurs", $majeurs);
$smarty->display('recherche.html');
include("../inc/footer.php");
?>
pierre3
le 30/06/2006 à 14:55
Récuéer le nombre de lignes
Très intéressant, mais là je ne comprends pas.

Dans l'exemple de la documentation $res serait une classe ?

Pourtant mon programme fonctionne très bien sans la ligne numRow
pierre3
le 30/06/2006 à 14:47
Récuéer le nombre de lignes
Je cherche à récupérer le nombre de lignes suite à une requête SQL. Je souhaiterai récupérer ce nombre de ligne dans une variable.

Dans la documentation c'est "DB_result::numRows()" qui est présenté sous la forme suivante :

<?php
// On suppose que $db est un objet DB valide...
$res =& $db->query('SELECT * FROM phptest');
echo $res->numRows();
?>


Je fais donc dans mon programme ceci :

$db->setFetchMode(DB_FETCHMODE_ASSOC);
$majeurs = $db->getAssoc($req);
echo $majeurs->numRows();


Et j'ai l'erreur suivante : "Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-8\www\gestelle\majeurs\recherche.php on line 87"

Si je retire la ligne "echo", mon programme fonctionne correctement avec l'affichage de 5 lignes ce qui correspont à ce que j'attends.

Merci de m'apporter quelques éclaircissements.
pierre3
le 28/06/2006 à 14:36
objet db valide
Merci Patochewie,

Tout est là :

http://www.gasteroprod.com/guide-du-debutant-pour-pear-db.html
pierre3
le 28/06/2006 à 10:20
Template
Séparer le design et le code sans template, je n'y suis pas arrivé.

Ou alors le découpage des programmes est tel que cela devient illisible.

Mais je suis à l'écoute du "truc" qui fera gagner un temps précieux en développement, en test, à l'exécution et dans la vie courrante d'un site.

Merci
pierre3
le 28/06/2006 à 10:15
objet db valide
Débutant en PHP, j'ai l'impression d'avoir loupé quelques choses.

Je tombe sur des exemple comme celui-ci :

// On suppose que $db est un objet DB valide...
$data =& $db->getAssoc('SELECT cf, df FROM foo');


Et voici ma question :

Qu'est-ce qu'un objet DB valide ?

Merci
pierre3
le 15/06/2006 à 15:27
{include file():
Merci cette syntaxe est plus simple et cela fonctionne.

A bientôt
pierre3
le 15/06/2006 à 14:52
{include file():
La réponse est oui, le source est donc présent. Alors pouquoi cette erreur sur mon include.

J'ai cherché dans plusieurs documentations et je ne vois pas.

Merci
LoadingChargement en cours