affichage requete + condition if

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 : affichage requete + condition if

par Cyrano » 24 août 2005, 19:05

De toutes façon, tu ne fais pas le test sur la bonne fonction: ociparse analyse la requête mais ne l'exécute pas. Il faudrait que tu définisses une variable avec la ligne suivante (ociexecute()) et que tu fasses le test dessus pour afficher ton message. Mais tu n'exécute cette ligne que si la première ne retourne pas FALSE. Je ne connais pas bien les commandes avec oracle, mais le code devrait ressembler à quelque chose dans ce goût là:
<?
//On se connecte a la base oracle
$connect = ocilogon("xxx", "xxx", "xxx");

//On parse la requête à effectuer sans oublier de lui passer la chaine de connexion en paramêtre
$stmt = ociparse($connect, "ma_requete");
if(false !== $stmt)
{
    //On execute la requête en lui passant l'option OCI_DEFAULT
    $execution = ociexecute($stmt,OCI_DEFAULT);

    //On parcourt les résultats et on affiche les champs
    while (ocifetch($execution))
    {
        $result = ociresult($execution,1);
    }
}
//On se deconnecte de la base oracle
ocilogoff($connect);
?>

<html>
<head>
<title>Recherche du numéro de commande grâce au numéro de facture</title>
</head>

<body>
<h1>Resultat</h1>

Voici le résultat demandé.
<?php
if ($stmt && $execution)
{
?>
  <p>Le numéro de commande est : <? echo $result; ?></p>
<?php
}
else
{
?>
  <p>Votre numéro de facture ne correspondant à aucun numéro de commande.</p>
<?php
}
?>
</body>
</html>
Sous réserves.

par Justone » 24 août 2005, 18:45

Ah oui bien vu Cyrano!

Mais ca ne marche tjs pas :cry:
J'ai toujours le meme probleme

par Cyrano » 24 août 2005, 18:31

OUi, regarde ce qui est écrit dans le manul :
ociparse() analyse la requête query sur la connexion conn, et retourne TRUE si la requête query est valide, et FALSE, si ce n'est pas le cas. query peut être n'importe quelle requête SQL.
Or toi, tu vérifie si la variable contient quelque chose ou est vide...
La bonne formulation serait donc:
<?
    if (false !== $stmt) {
    ?>

Re: affichage requete + condition if

par Justone » 24 août 2005, 18:28

<? 
//On parse la requête à effectuer sans oublier de lui passer la chaine de connexion en paramêtre 
$stmt = ociparse($connect, "ma_requete"); 
//On execute la requête en lui passant l'option OCI_DEFAULT 
ociexecute($stmt,OCI_DEFAULT); 
//On parcourt les résultats et on affiche les champs 
while (ocifetch($stmt)) { 
  $result = ociresult($stmt,1); 
} 

par Cyrano » 24 août 2005, 18:13

Celle là en particulier :
<?
    if ($stmt!="") {
    ?>

par Justone » 24 août 2005, 17:59

quels variables?

par Cyrano » 24 août 2005, 17:37

Où sont initialisées les variables ?

par Justone » 24 août 2005, 17:35

Personne pour m'aider svp??

affichage requete + condition if

par Justone » 24 août 2005, 15:43

Bonjour a tous,

Voici mon code :
<? 
        //On se connecte a la base oracle 
        $connect = ocilogon("xxx", "xxx", "xxx"); 
         
        //On parse la requête à effectuer sans oublier de lui passer la chaine de connexion en paramêtre 
        $stmt = ociparse($connect, "ma_requete"); 
        //On execute la requête en lui passant l'option OCI_DEFAULT 
        ociexecute($stmt,OCI_DEFAULT); 
         
        //On parcourt les résultats et on affiche les champs 
        while (ocifetch($stmt)) { 
            $result = ociresult($stmt,1); 
        } 
         
        //On se deconnecte de la base oracle 
        ocilogoff($connect); 
        ?> 

<html> 
<head> 
<title>Recherche du numéro de commande grâce au numéro de facture</title> 
</head> 

<body> 
<h1>Resultat</h1> 

Voici le résultat demandé. 
    <? 
    if ($stmt!="") { 
    ?> 
    <p>Le numéro de commande est : <? echo $result; ?></p> 
    <? } 
      else { 
    ?> 
    <p>Votre numéro de facture ne correspondant à aucun numéro de commande.</p> 
    <? } 
    ?> 
</body> 
</html>  
J'a deux problèmes et j'aurais besion de votre aide.

Le premier est que le numéro de commande ne s'affiche pas. Je n'arrive pas à enregistrer le résultat dans $result et ensuite l'afficher.

Le second est que meme lorsque je ne tape rien dans le formulaire appelant cette page ma condition if ($stmt!="") ne marche car jamais ne s'affiche 'Votre numéro de facture ne correspondant à aucun numéro de commande'

Merci pour votre aide...