Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Smarty help
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
alexrose



Data înscrierii: 15/Mai/2007
Mesaje: 24

Trimis: Sâm Ian 19, 2008 6:48 pm    Titlul subiectului: Smarty help  

Salut,

Folosinf exemplul Guestbook de pe siteul smarty incerc sa adaug cateva functii, cum ar fi: edit, del, search.

Urmatorul cod este functia care ar trbui sa imi modifice
Cod: function edit($formvars) {

        $_query = sprintf(
            "update words set camp1='%s', camp2='%s' where id='$id' ",
            mysql_escape_string($formvars['camp1']),
            mysql_escape_string($formvars['camp2'])
     );
         
        return $this->sql->query($_query);
         
    }

problema este ca nu modifica nimic.
unde trebuie declarat $id? ca sa mi-l poata vedea?
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 757
Locație: localhost

Trimis: Dum Ian 20, 2008 8:38 am    Titlul subiectului:  

@alexrose, Depinde ce e $id acela! daca il primesti prin $_GET faci asha:

Cod:
function edit($formvars) {
   $id = $_GET["id"];
        $_query = sprintf(
            "update words set camp1='%s', camp2='%s' where id='$id' ",
            mysql_escape_string($formvars['camp1']),
            mysql_escape_string($formvars['camp2'])
     );
         
        return $this->sql->query($_query);
         
    }

dar daca il ai ca variabila il faci asha:
Cod:
function edit($formvars) {
   global $id;
        $_query = sprintf(
            "update words set camp1='%s', camp2='%s' where id='$id' ",
            mysql_escape_string($formvars['camp1']),
            mysql_escape_string($formvars['camp2'])
     );
         
        return $this->sql->query($_query);
         
    }


daca nu ma gresesc

return $this->sql->query($_query);
trebuie inlocuit cu:
return $this->query($_query); ..!

Success.!
Sus  
alexrose



Data înscrierii: 15/Mai/2007
Mesaje: 24

Trimis: Dum Ian 20, 2008 3:14 pm    Titlul subiectului:  

Incercat cu ambele metode si nu merge.
Ma indoiesc ca ar fi problema de la query pt. ca daca pun de ex: where id=5 el imi va modifica corect randul cu id=5;

ca sa ai o idee de cum arata scriptu: www.smarty.net/sampleapp/sampleapp_p1.php

si da .. prin $_GET se ia id-ul!
cel putin asa ar trebui
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 757
Locație: localhost

Trimis: Dum Ian 20, 2008 6:31 pm    Titlul subiectului:  

Incearca:

Cod:
"UPDATE words SET camp1='%s', camp2='%s' WHERE id='" . $id . "'",


nu cred sa mearga da incearca..!

daca nu merge dai sus dupa $id = $_GET["id"]; un die ceva de genu:

Cod: die("Acesta e id:" . $id)
Sus  
MihaiC



Data înscrierii: 14/Mai/2006
Mesaje: 1000
Locație: Navodari

Trimis: Dum Ian 20, 2008 9:00 pm    Titlul subiectului:  

Daca tot ai folosit sprintf(), nu puteai sa inlucuiesti si id cu el ?

Cod:

 function edit($formvars) {

        $_query = sprintf(
            "update words set camp1='%s', camp2='%s' where id='%d",
            mysql_escape_string($formvars['camp1']),
            mysql_escape_string($formvars['camp2']),
            $_GET['id']
     );
         
        return $this->sql->query($_query);
         
    }
Sus  
alexrose



Data înscrierii: 15/Mai/2007
Mesaje: 24

Trimis: Lun Ian 21, 2008 12:25 am    Titlul subiectului:  

nu-mi merge cu nici una din metodele de mai sus ...
@quber: Nu afiseaza decat "Acesta este id: "
Nu inteleg de ce .. :-?
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 757
Locație: localhost

Trimis: Lun Ian 21, 2008 7:28 am    Titlul subiectului:  

inseamna ca tu nu primesti $id prin GET ..!

spune mai clar de unde ajungi la pagina aceasta..?

ca poate sa aflu de unde se ea id..! ;)
Sus  
MihaiC



Data înscrierii: 14/Mai/2006
Mesaje: 1000
Locație: Navodari

Trimis: Lun Ian 21, 2008 12:47 pm    Titlul subiectului:  

Scuze, au uitat o ' (sau am pus una is plus). Daca nu merge, in nici un caz nu e de la functia asta problema ta.

P.S. : Functia asta sper ca e declarata intr-o clasa de db, ca altfel mi se pare normal sa nu mearga.
Sus  
alexrose



Data înscrierii: 15/Mai/2007
Mesaje: 24

Trimis: Lun Ian 21, 2008 7:51 pm    Titlul subiectului:  

cum am zis mai sus este exact modelul de pe site de la smarty, caruia incerc sa ii adaug functii de cautare, editare si stergere.

functia de adaugare am pus-o in clasa in care e si functia de adaugare.

Quber daca vrei iti dau pe PM ftp-ul sa te uiti peste cod poate iti dai tu seama.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community