Rezultate 1 la 6 din 6

Subiect: asocierea unui camp dintr-o alta tabela

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 asocierea unui camp dintr-o alta tabela

    Salutare!
    Incerc sa invat PHP-ul si cel mai bine este cand faci ceva util... In felul asta vreau sa invat si eu, insa m-am impotmolit la o treaba... Vreau sa atribui datele din prima tabela celei de-a doua si aici mi-am prins urechile.. Prima tabela #angajati arata astfel:
    #angajati
    id_angajat
    ang_nume
    ang_data_n
    ang_cnp
    ang_serie_bul
    ang_nr_bul
    ang_elib_de
    ang_elib_la
    ang_local
    ang_jud
    ang_str
    ang_nr_str
    ang_bl
    ang_et
    ang_ap

    Am introdus datele, am adaugat vreo 20 de angajati, acum vreau sa creez adeverintele pentru ei. Cum fac asta? Iata codul pe care l-am creat

    Cod PHP:
                        <form method="post" action="?x=new_adev_gen_add">
                            <fieldset> 
                                <label>Numele si prenumele</label>
                                <select>
                                    <option name="angajat_id">Alege</option>
    <?php
    $host
    ="localhost";
    $username="";
    $password="";
    $db_name="";
    $tbl_name="angajati";
    mysql_connect("$host""$username""$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
    $sql="SELECT * FROM $tbl_name ORDER BY ang_nume ASC";
    $result=mysql_query($sql);
    while(
    $rows=mysql_fetch_array($result)){
    ?>
                                    <option value="<?php echo $rows['id_angajat']; ?>"><?php echo $rows['ang_nume']; ?> | <?php echo $rows['ang_cnp']; ?></option>
    <?php
    }
    mysql_close();
    ?>
                                </select>
                            </fieldset>
                            <fieldset style="width:48%; float:left; margin-right: 3%;"> 
                                <label>Numarul adeverintei</label>
                                <input type="text" style="width:92%;" name="adev_gen_nr">
                            </fieldset>
                            <fieldset style="width:48%; float:left;"> 
                                <label>Data adeverintei</label>
                                <input type="text" style="width:92%;" name="adev_gen_data">
                            </fieldset>
                            <fieldset> 
                                <label>A-i servi la</label>
                                <input type="text" name="adev_gen_serveste">
                            </fieldset>
                            <div class="clear"></div>
                        </form>
    cum ar trebui sa creez cea de-a doua tabela?
    in principiu, #adev_gen va avea
    -id_adev_gen
    -angajat_id (din #angajati)
    -adev_gen_nr
    -adev_gen_data
    -adev_gen_serveste

    corect? sper sa nu gresesc pana aici, ca asta am facut deja... introducerea datelor stiu s-o fac..
    Cod PHP:
    <?php
    $host
    ="localhost";
    $username="";
    $password="";
    $db_name=""
    $tbl_name="adev_gen";
    mysql_connect("$host""$username""$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
    $angajat_id=$_POST['angajat_id '];
    $adev_gen_nr=$_POST['adev_gen_nr'];
    $adev_gen_data=$_POST['adev_gen_data'];
    $adev_gen_serveste=$_POST['adev_gen_serveste'];
    $sql="INSERT INTO $tbl_name(angajat_id , adev_gen_nr, adev_gen_data, adev_gen_serveste)VALUES('$angajat_id ', '$adev_gen_nr', '$adev_gen_data', '$adev_gen_serveste')";
    $result=mysql_query($sql);
    if(
    $result){
    echo 
    '<h4 class="alert_success">Angajatul a fost inregistrat cu succes!</h4>';
    }
    else {
    echo 
    '<h4 class="alert_error">Angajatul nu a putut fi inregistrat. Va rugam sa mai incercati!</h4>';
    }
    mysql_close();
    ?>
    .. apoi sa fac si afisarea... aici cum o fac? iata codul creat de mine..
    Cod PHP:
                <table class="tablesorter" cellspacing="0"> 
                <thead> 
                    <tr> 
                           <th></th> 
                        <th>Nume angajat</th> 
                        <th>Nr. adeverinta</th> 
                        <th>Data</th> 
                        <th>Serveste la</th> 
                        <th>Optiuni</th> 
                    </tr> 
                </thead> 
                <tbody> 
                <?php
    $host
    ="";
    $username="";
    $password="";
    $db_name="";
    $tbl_name="adev_gen";
    mysql_connect("$host""$username""$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
    $sql="SELECT * FROM $tbl_name";
    $result=mysql_query($sql);
    while(
    $rows=mysql_fetch_array($result)){
    ?>
                    <tr> 
                           <td><input type="checkbox"></td> 
                        <td>?????????????????</td> 
                        <td><?php echo $rows['adev_gen_nr']; ?></td> 
                        <td><?php echo $rows['adev_gen_data']; ?></td> 
                        <td><?php echo $rows['adev_gen_serveste']; ?></td>
                        <td>
                          <input type="image" src="images/icn_profile.png" title="Vizualizeaza">
                          <input type="image" src="images/icn_edit.png" title="Editeaza">
                          <input type="image" src="images/icn_trash.png" title="Sterge">
                        </td> 
                    </tr> 
                    <?php
    }
    mysql_close();
    ?>
                </tbody> 
                </table>
    Nu stiu cum sa fac sa afiseze numele corespunzator fiecarei adeverinte. Ma puteti ajuta?

    Va multumesc anticipat.

  2. #2
    Avatarul lui raxiro
    raxiro este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    2nd November 2010
    Locaţie
    Bucuresti
    Posturi
    73
    Putere Rep
    29


    Implicit

    acel select trebuie sa fie facut un un join pe tabele de angajati ceva de genul:

    SELECT * FROM angajati,adev_gen where abgajati.id_angajat=adev_gen.angajat_id

    Asta e varianta simpla in care ai lista intreaga.

  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

    Da... eu in principiu o sa am afisarea la gramada (toate adeverintele adaugate) si afisarea separata (fiecare adeverinta in parte).
    Daca ai putea fi mai explicit, nu am inteles foarte bine...cum fac afisarea numelui atribuit fiecarei adeverinte? si celelalte date ale angajatului? Deasemenea cum o sa fac afisarea separata/?
    Multumesc mult pentru sfat, o sa mai caut si sper sa ajung la un numitor comun.

  4. #4
    Avatarul lui raxiro
    raxiro este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    2nd November 2010
    Locaţie
    Bucuresti
    Posturi
    73
    Putere Rep
    29


    Implicit

    Selectul din ultimul php unde faci afisarea in loc de
    $sql="SELECT * FROM $tbl_name";

    va fi :
    $sql="SELECT * FROM angajati,adev_gen where abgajati.id_angajat=adev_gen.angajat_id";

    Pe urma acolo unde ai pus:
    <td>?????????????????</td>

    va fi :
    <td><?php echo $rows['ang_nume']; ?></td>

    In acel rows vei avea si coloanele din adeverinta si cele din angajat.
    Sper ca e mai clar acum

  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

    Nu-mi apare nimic, dar de cec?

    ...?!

    Acum am inteles ce mi-ai aratat, un cod face cat o mie de vorbe. Merci mult. Sa vad cum fac cu afisarea asta...

    --- Later Edit --- (ca mi-a fost lene sa apas "Edit")

    Desi am pus codul cum trebuie, nu inteleg.. nu-mi afiseaza nimic.. Cred ca gresesc un caracter ceva, dar nu-mi dau seama unde..
    Cod PHP:
    <?php
        $host
    ="localhost";
        
    $username="";
        
    $password="";
        
    $db_name="";
        
    mysql_connect("$host""$username""$password")or die("cannot connect"); 
        
    mysql_select_db("$db_name")or die("cannot select DB");
        
    $sql="SELECT * FROM angajati,adev_gen where angajati.id_angajat=adev_gen.angajat_id"
        
    $result=mysql_query($sql);
        while(
    $rows=mysql_fetch_array($result)){
    ?>
    <tr> 
        <td><input type="checkbox"></td> 
        <td><?php echo $rows['ang_nume']; ?></td> 
        <td><?php echo $rows['adev_gen_nr']; ?></td> 
        <td><?php echo $rows['adev_gen_data']; ?></td> 
        <td><?php echo $rows['adev_gen_serveste']; ?></td>
    </tr> 
    <?php
        
    // close while loop 
        
    }
        
    // close connection 
        
    mysql_close();
    ?>

  6. #6
    Avatarul lui raxiro
    raxiro este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    2nd November 2010
    Locaţie
    Bucuresti
    Posturi
    73
    Putere Rep
    29


    Implicit

    Primul pas e sa rulezi selectul tau sa vezi daca intoarce ceva.
    Daca dezvolti local poti folosi "Mysql query browser" daca nu, phpmysqladmin din cpanel.

    E posibil ca sql-ul sa nu intoarca nimic pentru ca nu exista adeverinte pentru angajat.

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. Nu pot sa inlcud dintr-o pagina in alta
    De Andrey-1989 în forumul Server side
    Răspunsuri: 0
    Ultimul Post: 2nd April 2011, 00:54
  2. Răspunsuri: 8
    Ultimul Post: 20th March 2011, 14:06
  3. MYSQL select din 2 tabele cand a doua tabela n-are date
    De Popescu Marian în forumul Server side
    Răspunsuri: 8
    Ultimul Post: 17th February 2011, 11:49
  4. probleme data la import fisier in tabela
    De Popescu Marian în forumul Server side
    Răspunsuri: 3
    Ultimul Post: 21st July 2010, 14:48
  5. PHP Ordonare tabela html pe randuri - tr nou
    De evolution în forumul Server side
    Răspunsuri: 10
    Ultimul Post: 23rd April 2010, 11: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
  •