Rezultate 1 la 6 din 6

Subiect: Ajutor script PHP-Mysql

Afișare hibrid

  1. #1
    Avatarul lui impelo
    impelo este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    7th April 2011
    Locaţie
    Bucuresti
    Posturi
    304
    Putere Rep
    29


    Implicit Ajutor script PHP-Mysql

    Salutare,
    Problema mea este putin cam stupida pentru un cunoascator al php-ului si bineinteles, a bazelor de date mysql.

    Am 2 tabele:
    #angajat : angajat_id, angajat_nume, angajat_prenume etc.
    #cim : cim_id, angajat_id, etc.

    Cand introduc in baza de date in tabela cim, fiecare inregistrare are si angajat_id, de unde sa pot face niste conexiuni. In cazul meu, un angajat poate avea mai multe inregistrari CIM, dar difera numarul, data, functia, salariul etc.

    Acum, am facut o optiune de incetare cim si anume:
    Cod PHP:
    <a href="?show=inceteazacim&cim_id=<? echo $rows['cim_id']; ?>">inceteaza contractul</a>
    In pagina ?show=inceteazacim&cim_id=XXX spre exemplu, unde XXX este id-ul unuia din angajati, am urmatorul formular:

    Cod PHP:
    <?php
    $host
    ="";
    $username="";
    $password="";
    $db_name="";
    $tbl_name="cim";
    $tbl_name2="angajat";
    mysql_connect("$host""$username""$password")or die("nu ma pot conecta");
    mysql_select_db("$db_name")or die("nu pot selecta DB");
    $sql=mysql_query"SELECT * FROM $tbl_name$tbl_name2 where cim_id=$tbl_name2.cim_id, $tbl_name1=$tbl_name2.angajat_id";
    $rows $result[angajat_prenume];
    ?>
    <fieldset><label>Nume si prenume</label><input type="text" value="<? echo $rows['angajat_nume']; ?> <? echo $rows['angajat_prenume']; ?>">
    <?php mysql_close(); ?>
    Problema este ca nu-mi afiseaza numele si prenumele angajatului si sincer sa fiu, nu inteleg unde gresesc... Ma puteti ajuta, va rog?


    Multumesc anticipat.

  2. #2
    Avatarul lui Ciprian.Olaru
    Ciprian.Olaru este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    6th August 2007
    Locaţie
    Bucuresti
    Posturi
    573
    Putere Rep
    0


    Implicit

    o problema e ca dupa mysql_query nu ai un fetch;
    iti recomand sa vezi exemplul #1 de aici: PHP: mysql_fetch_assoc - Manual
    functia mysql_query nu returneaza direct un set de rezultate, ci un pointer catre o zona din care trebuie ulterior extrase rezultatele intr-un array simplu / array asociativ / obiect / etc cu o functie de fetch;

    o alta problema pare sa fie si queryul care nu sunt convins ca e corect dpdv sql;
    iti recomand sa printezi inainte stringul pe care il dai functiei mysql_query si sa incerci sa il rulezi direct intr-un client mysql (probabil phpmyadmin) sa vezi daca intoarce rezultatul pe care il astepti tu de la el;
    daca in phpmyadmin merge.. ramane sa cauti problema in codul php.. daca nu.. lucrezi la sql pana iti iese si apoi te intorci la php;

    bafta,

  3. #3
    Avatarul lui impelo
    impelo este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    7th April 2011
    Locaţie
    Bucuresti
    Posturi
    304
    Putere Rep
    29


    Implicit

    Am reusit, intr-un final. Codul pe care l-am facut este urmatorul:
    Cod PHP:
    <?php
    $host
    =""// Host name 
    $username=""// Mysql username 
    $password=""// Mysql password 
    $db_name=""// Database name  
    $tbl_name="cim"// Table name 
    $tbl_name2="angajat"// Table name 
    mysql_connect("$host""$username""$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
    $cim_id=$_GET['cim_id'];
    $sql="SELECT * FROM $tbl_name$tbl_name2 WHERE cim_id='$cim_id'";
    $result=mysql_query($sql);
    $rows=mysql_fetch_array($result);
        echo 
    $rows['angajat_nume'];
        echo 
    ' ';
        echo 
    $rows['angajat_prenume'];
    mysql_close(); ?>

  4. #4
    Avatarul lui Ciprian.Olaru
    Ciprian.Olaru este deconectat Membru SeoPedia
    Reputatie:
    0
    Data înscrierii
    6th August 2007
    Locaţie
    Bucuresti
    Posturi
    573
    Putere Rep
    0


    Implicit

    citind enuntul initial si comparand cu exemplul de cod din final as remarca:
    1. $cim_id e folosit ca numar de contract si nu ca id de angajat;
    2. selectului ii lipseste un join si nu va functiona corect pt mai mult de un angajat
    3. scriptul va afisa mereu cel mult un contract (chiar daca teoretic angajatul poate avea mai multe) macar pentru faptul ca lipseste acel while din exemplul de cod de la php.net

  5. #5
    Avatarul lui impelo
    impelo este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    7th April 2011
    Locaţie
    Bucuresti
    Posturi
    304
    Putere Rep
    29


    Implicit

    Corect, asta am observat si eu intre timp... Imi apare acelasi angajat, la orice contract as da.. Mai imi omor eu putin neuronii, trebuie sa-i dau de cap...

  6. #6
    Avatarul lui Dragos Flusca
    Dragos Flusca este deconectat Membru SeoPedia
    Reputatie:
    33
    Data înscrierii
    1st July 2008
    Posturi
    33
    Putere Rep
    33


    Implicit

    Mi se pare foarte neclar descrisa problema, nu vad cum ai putea primi ajutor de calitate.

    Din ce am inteles cred ca urmatorul query ti-ar putea fi de folos.
    SELECT * FROM $tbl_name2 t2 LEFT JOIN $tbl_name t1 ON t1.angajat_id=t2.angajat_id AND t1.cim_id='$cim_id'

    Sper ca nu am facut greseli, nu am testat queryul. Iti recomand sa stai cateva ore sa citesti macar SQL Tutorial , o sa iti scuteasca multa bataie de cap.

    Spor!

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Ajutor script paypal
    De N.Paul în forumul Server side
    Răspunsuri: 3
    Ultimul Post: 8th October 2012, 22:57
  2. Script jocuri online + mysql
    De Guess Who în forumul Continut web
    Răspunsuri: 0
    Ultimul Post: 6th June 2012, 15:12
  3. Ajutor script
    De midanius în forumul Studii de caz
    Răspunsuri: 0
    Ultimul Post: 7th December 2011, 04:34
  4. Răspunsuri: 14
    Ultimul Post: 27th August 2008, 16:31
  5. putin ajutor de java script
    De stargsm în forumul Client side
    Răspunsuri: 12
    Ultimul Post: 4th July 2007, 21:32

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •