PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#2276 Re : Forum Général PHP » [Résolu] On peut me confirmer le but de cette déclaration s'il vous pl » 05-06-2009 17:44:55

Enfin une explication que j'ai pu comprendre (si, si, ça arrive).
Le lien, dans la doc php, était dans la page dont Maskime nous avait fournit le lien, il fallait juste aller jusqu'à là :
Retourner des références.
Donc c'est pour obtenir, dans une variable, une référence (donc une indirection) à un attribut d'une instance de classe. Ce qui permet d'interagir sur l'attribut en modifiant la variable. Disons que c'est pour une commodité d'écriture, car, sinon, je ne vois pas bien l'intérêt.
Dis comme ça, pour le newbie en POO, c'est de l'espéranto (voire de l'hébreu), mais l'exemple dans le lien est très simple et clair, et en français.
Bon, je vais pouvoir reprendre une activité normale.

#2277 Re : Forum Général PHP » [Résolu] On peut me confirmer le but de cette déclaration s'il vous pl » 05-06-2009 17:44:55

Dankon Alain,
Ce point n'était pas ma plus grande interrogation (quoique), mais ça dégage l'esprit d'une préoccupation pour lui permettre de se concentrer sur le reste.
Le hasard veut que je sois en train de traduire l'Appendix A de «Learning PHP Data Objects (PDO)» Appendice qui est une «Introduction to OOP in PHP5». Je baigne donc en pleine POO d'où ma curiosité pour ce post de Maskime.

#2278 Re : Forum Général PHP » [Résolu] On peut me confirmer le but de cette déclaration s'il vous pl » 05-06-2009 17:44:55

Je nage dans l'incompréhension

<?php
/*Extrait de PHP en action chez O'Reilly
de David Sklar & Adam Trachtenberg
Édition Françaiose traduction de Alexandre Gachet
chapitre 6-Fonctions p 152
6.6 Retourner des valeurs par référence
Problème

Vous souhaitez retourner une valeur par référence, pas par valeur.
Cela vous permet d'éviter de copier une variable.

Solution
La syntaxe permettant de retourner une valeur par réféence est similaire à celle
permettant de passer u argument par référence. Cependant, plutôt que de placer un
& devant le paramètre, il faut le placer devant le nom de la fonction :
*/

function &wrap_html_tag($chaine,$balise='b'){
    return "<$balise>$chaine</$balise><br />";
    }
/*
De même, vous devez utiliser l'opérateur d'assignation =& à la place de l'opérateur =
lorsque vous invoquez la fonction
*/

$texte='ceci est une chaine';// ça c'est moi qui l'ai ajouté
$html =& wrap_html_tag($texte);
//tout le reste c'est moi qui l'ai ajouté
echo $texte;
echo $html;
$html = wrap_html_tag($texte);
echo $texte;
echo $html;
/*
Discussion
A la différence du passage des valeurs aux fonctions, où un argument est
passé soit par valeur, soit par référence, vous pouvez facultativement choisir
de ne pas assigner une référence et de prendre simplement la valeur de retour
de la fonction. Utilisez simplement = à la place de =& et PHP atribuera la valeur
plutôt que la référence.
*/

et j'obtiens

Notice: Only variable references should be returned by reference in G:\www\PHPDeb\reference.php on line 19
ceci est une chainececi est une chaine

Notice: Only variable references should be returned by reference in G:\www\PHPDeb\reference.php  on line 19
ceci est une chainececi est une chaine

dont le source html est

<br />
<b>Notice</b>:  Only variable references should be returned by reference in <b>G:\www\PHPDeb\reference.php</b> on line <b>19</b><br />
ceci est une chaine<b>ceci est une chaine</b><br /><br />
<b>Notice</b>:  Only variable references should be returned by reference in <b>G:\www\PHPDeb\reference.php</b> on line <b>19</b><br />

ceci est une chaine<b>ceci est une chaine</b><br />

Bref, je ne suis pas plus avancé, l'avertissement semble contredire les auteurs et les deux syntaxes semblent fournir le même résultat.
Si vous pouviez m'expliquer :
1. pourquoi cet avertissement
2. à quoi tout cela rime-t'il
3. où j'ai merdé dans ce bout de script et pourquoi.

On verra ensuite pour comprendre l'utilisation de cette syntaxe dans le cadre d'une déclaration de méthode public static d'une classe, sujet intial de ce post.

Merci à quiconque saura éclairé mon vieux cerveau hébété.

#2279 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] like » 14-05-2009 22:48:01

D'autant que ce n'est pas du breton mais de l'espéranto, comme mon pseudo.
Zamenhof aurait dû te mettre sur la voie.

Ceci dit, la traduction était presque bonne.
Là ou où il y a de la lumière on trouve aussi de l'ombre. C'est l'éternelle histoire du ying et du yang, voire du côté obscur de la force.


Pour en revenir à ton problème, je crois que tu n'as pas saisi ma réponse :

Quant à LIKE il plaque son masque sur l'ensemble de la colonne.

C'est à dire que rien ne saurait détourner LIKE de sa recherche sur l'ensemble de la colonne, que celle-ci contienne ou non des balises html, fussent-elles des balises <br />

#2280 Re : Forum Général PHP » [Résolu] On peut me confirmer le but de cette déclaration s'il vous pl » 05-06-2009 17:44:55

Alors je dois être très, mais très, très fatigué.
Ou d'un grosseur de nullité incommensurable.

#2281 Re : Forum Général PHP » [Résolu] On peut me confirmer le but de cette déclaration s'il vous pl » 05-06-2009 17:44:55

Même après avoir lu la doc, j'avoue ne pas comprendre ce qu'est censée produire cette déclaration.
Je dois être fatigué, ou juste un gros nul.

#2282 Re : Forum Général PHP » probleme avec foreach (encore !) » 14-05-2009 12:48:27

Il y a plusieurs choses qui ne vont pas dans ton script.
La première me semble fondamentale.
Imagine que les réservations des places pour un vol, ou un spectacle soient réalisées comme tu le fais.
Si deux personnes se connectent quasi simultanément et qu'il ne reste plus qu'une place, celle-ci pourrait très bien être attribuée deux fois.
C'est pourquoi ce genre de choses doit se faire en mode transactionnel avec verrouillage de la table.
S'agissant du code de la boucle foreach, que sont censés contenir respectivement $row et $value (principalement $row) ?
Et $_POST[reference_produit] est un array, pas une valeur scalaire, donc tu ne peux pas t'en servir tel quel dans le SET de l'UPDATE.
En outre, il n'y a aucune corrélation entre le tableau parcouru par foreach et celui-ci, d'où tes problèmes.

#2283 Re : Forum Général PHP » [Résolu] Recuperer les valeur d'une boucle » 14-05-2009 16:22:50

Pour être tout à fait précis il faudrait dire :
.= signifie : concaténer au contenu de la variable à gauche de l'opérateur le contenu de celle de droite.
voire, si à droite on a une chaine et non une variable :
.= signifie : concaténer au contenu de la variable à gauche de l'opérateur la chaine  à droite de celui-ci.

#2284 Re : MySQL, PostgreSQL, etc... » Quel serveur de base de données choisir ? » 09-07-2009 08:55:20

C'est plus par rejet des autres et par sa proximité avec MyQSL.
Une sorte de «baby duck syndrom»
En outre, SQLite n'est pas un vrai SGBDR, les autres sont des produits non OPEN SOURCE.

#2285 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Problème de connexion à une base mysql » 14-05-2009 09:47:41

Si rien ne s'affiche, c'est plutôt bon signe, cela signifie que tout se passe bien, puisqu'à part les mysql_error(), ce script n'est censé provoquer aucun affichage.

#2286 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Problème de connexion à une base mysql » 14-05-2009 09:47:41

Il te faudrait mettre, provisoirement, un or die(mysql_error()) derrière tes deux appels à mysql_connect() et à mysql_select_db(), pour qu'on ait un message plus parlant en provenance du serveur MySQL.

#2287 Re : MySQL, PostgreSQL, etc... » Quel serveur de base de données choisir ? » 09-07-2009 08:55:20

Saluton,
Personnellement, je vais m'orienter vers PostgreSQL. Mais il faudra bien en passer, la plupart du temps, par ce que proposerons les hébergeurs.
Une chose est certaine, l'abstraction de l'extension PDO rendra les migrations quasi indolores pour les scripts qui l'auront adoptée.
Un grand merci à luce qui se sera montrée tout à fait visionnaire sur ce coup-là.

#2288 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Problème de connexion à une base mysql » 14-05-2009 09:47:41

getpolo a écrit :

J'ai bien regardé mon  fichier httpd.conf l'extension php est bien mentionnée.

Ce n'est pas ce à quoi je me référais. Je pensais que le fait que le code PHP s'affiche en clair dans la page provenait de l'extension du fichier script demandé dans le navigateur.
Tout ce qui contient du php, script maître ou include, doit être sauvegardé avec une extension php.
Si tu as une page mapage.html, dans laquelle tu mets <?php include 'script.php'; ?>, d'une part script.php ne sera pas inclus (sauf directive différente dans le hhtpd.conf effectivement) mais <?php include 'script.php'; ?> restera dans le code source de la page affichée et, éventuellement, apparaîtra à l'écran.

getpolo a écrit :

Concernant l'adresse de mon serveur, j'ai essayé avec localhost et l'adresse Ip en précisant ou non le port, rien à faire. j'avoue ne pas savoir où chercher le problème.

Il ne peut donc s'agir que d'une erreur dans le couple USER PWD ou, mais je n'ose penser qu'il s'agisse de cela, que ton serveur MySQL n'est pas actif, ou que tu appelles la page via le pseudo protocole file et non http.
file://wamp5/www/monscript.php au lieu de http://localhost/monscript.php

#2289 Re : Suggestion » avis sur votre choix de forum » 25-02-2019 05:54:38

Bravo, il commence à être tout à fait fréquentable ce forum.
Enfin, je ne parle que de la forme, de l'ergonomie et de la qualité des intervenants (surtout).
Parce que le contenu, est pour l'instant un peu, comment dire, léger ?
Est-il prévu de mettre des boutons d'insertion d'émoticone, de code, d'url, de citation ?
Oui, j'imagine dès que l'on en aura le temps smile
Bon, courage, je crois qu'on tient une quasi V2.
Et surtout MERCI !

#2290 Re : MySQL, PostgreSQL, etc... » [PDO] il va falloir s'y mettre » 15-12-2015 22:32:32

Bien sûr, il faut juste me fournir le cahier des charges  (charte graphique etc...).

#2291 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] Problème de connexion à une base mysql » 14-05-2009 09:47:41

getpolo a écrit :

Voilà mon problème, je tente désespérément de me connecter à a base. Je suis sous apache (WIndows), mes scripts sous php fonctionnent, je peux me connecter à mysql via phpmyadmin, mais dès que je tente de me connecter via une page en php ou en html avec le bon code il ne se passe rien?  ou alors le code s'affiche en pleine page...*

Si le code PHP s'affiche en pleine page c'est que l'extension accolée au nom de la page n'est pas .php
Sinon, même diagnostic que moogli, probablement qu'il faut remplacer l'adresse IP par localhost, ou ajouter le port 3306 à la fin de l'adresse IP :

define ('DB_SERVER', '172.20.4.44:3306');

Enfin, puisque tu débutes en PHP, pourquoi ne pas tout de suite utiliser PDO, si tu es en PHP 5 ?

#2292 Re : MySQL, PostgreSQL, etc... » [Sujet Clos] like » 14-05-2009 22:48:01

Saluton,
Il n'est pas normal qu'une colonne d'une table de base de données contienne des balises <br /> elle devrait contenir, à la place, des \n.
A l'affichage on fait echo nl2br(nomdecolonne) et les \n seront remplacés par des <br />.
Quant à LIKE il plaque son masque sur l'ensemble de la colonne.

#2293 Re : Forum Général PHP » [Résolu] generation d'etiquette avec FPDF » 14-05-2009 14:25:03

Je serais toi je virerais déjà ce $pdf->Open(); qui ne me dit rien qui vaille.
Ensuite pourquoi un SELECT * La guerre des étoiles
ensuite utilises plutôt mysql_fetch_assoc() (voire, encore plus meilleur PDO)
et, surtout, pourquoi une requête dans la boucle foreach ?

#2294 Re : Forum Général PHP » [Résolu] generation d'etiquette avec FPDF » 14-05-2009 14:25:03

Le moins qu'on puisse dire c'est que tu ne lésines pas sur les requêtes d'UPDATE.
Une seule requête finale reprenant toutes les id dans un IN et le tour était joué.
Je ne vois pas dans ton code ce qui instancie la classe PDF_Label, il est donc difficile de se prononcer sans l'intégralité du code.

#2295 Re : Forum Général PHP » [Résolu] generation d'etiquette avec FPDF » 14-05-2009 14:25:03

Je reviens du site FPDF, as-tu essayé de faire tout bêtement comme dans l'exemple du script de LPA ?

<?php
require_once('PDF_Label.php');

// Format standard
$pdf = new PDF_Label('L7163');

$pdf->AddPage();

// On imprime les étiquettes
for($i=1;$i<=20;$i++) {
    $text = sprintf("%s\n%s\n%s\n%s %s, %s", "Laurent $i", 'Immeuble Toto', 'av. Fragonard', '06000', 'NICE', 'FRANCE');
    $pdf->Add_Label($text);
}

$pdf->Output();
?>

#2296 Re : Forum Général PHP » [Résolu] Récuperer le nom de deux personnes depuis une BDD » 13-05-2009 15:47:24

Alnoss a écrit :

pour résumer, ton echo $data['nom'] te donne la chaine "TESTEUR - VERIFICATEUR" donc :
- cherche la position de " - "
- a gauche, récupère la valeur de ta var "TESTEUR"
- a droite, récupère la valeur de ta var "VERIFICATEUR"

Ou bien utilises list et explode.

#2297 Re : Forum Général PHP » [Résolu] generation d'etiquette avec FPDF » 14-05-2009 14:25:03

Saluton,
Le problème est que tu utilises une extension de FPDF, FPDF_Label, et que je ne connais pas toutes les extensions (et loin de là) que propose leur site.
Pour celle-ci, de mémoire, je sais qu'il ne faut pas prendre à la lettre tout ce qui est mis dedans en commentaires, par exemple, les tailles ne sont pas en mm mais toujours en points.
Par contre, as-tu posé la question sur leur forum ?

#2298 Re : MySQL, PostgreSQL, etc... » [PDO] il va falloir s'y mettre » 15-12-2015 22:32:32

Alnoss a écrit :

Bah ! Et moi qui te croyais directeur.... pffff ^^

de conscience, mon fils, de conscience.

#2299 Re : Javascript » [Sujet Clos] Comment faire une pause dans une boucle php » 13-05-2009 13:02:09

Envoies un courriel à Manicow car je ne sais pas comment s'organise c't'affaire de nos jours.
Ceci dit ce n'est pas l'Académie Française non plus, remarques, tu prendrais le siège de Raf...va falloir assurer wink

#2300 Re : MySQL, PostgreSQL, etc... » [PDO] il va falloir s'y mettre » 15-12-2015 22:32:32

Alnoss a écrit :

+1 : Ce serait un honneur que de vous assister !

T'aurais pas oublié de terminer ta phrase par MAAIIITRE ?

Pied de page des forums

Propulsé par FluxBB