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
 

Insert cu id
Vezi mesajul original

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



Data înscrierii: 23/Sep/2007
Mesaje: 446

Trimis: Dum Noi 25, 2007 3:55 am    Titlul subiectului: Insert cu id  

Se da:
id|categorie|nivel|descriere|d_nivel

ok,poate vati dat seama ce e,eu pentru un script de adaugat categorii si subcategorii si descriere la subcategorii,eu ca sa stiu eu din ce subcategorie face parte o descriere,trebuie sa introduc id-ul inserat,am incercat cu mysql_insert_id(),dar bineinteles ca nu merge la INSERT INTO sa pun asa,deci aveti vreo solutie cum sa fac?

//Precizez sistemu,campul categorie se introduc categoriile si subcategorie iar campul nivel e DEFAULT 0,adica ce ii cu 0 ii categorie principala,iar cand introduc subcategorie introduc id-ul categoriei din care face parte si asa mai departe...
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 630
Locație: Drobeta Turnu Severin

Trimis: Dum Noi 25, 2007 6:31 pm    Titlul subiectului:  

Nu stiu ce-i in campul "d_nivel" da' cred ca nu conteaza.
Avem:
id - int auto_increment primary key
categorie - varchar (denumirea categoriei)
nivel - int default 0 (id-ul categoriei, parintele)
descriere - bla, bla

Care sa fie problema ?
- se insereza o categorie :
INSERT INTO tb (categorie,descriere) VALUES ('Categoria X','...');
- se afla id-ul inserat $id = mysql_insert_id();
- se insereaza subcategoriile:
INSERT INTO tb (categorie, nivel, descriere) VALUES ('SubCat X1',$id,'...');
- pentru inserare subcategorii la subcategorii se cauta parintele, se citeste id-ul si se insereaza subcategoria cu "nivel" id parinte.
Sus  
saitek



Data înscrierii: 23/Sep/2007
Mesaje: 446

Trimis: Lun Noi 26, 2007 12:20 am    Titlul subiectului:  

gg pentru idee o sa o incerc,in d_nivel trebuie sa introduc,id,ul ca sa stiu cui apartine descrierea....

eu asa adaug

am
subcategoria,input type text.....
descriere,input type text....
si aici un select unde sunt listate toate categoriile,si selectez categoria din care vreau sa faca parte subcategoria,eh eu la fiecare subcategorie vreau sa pun o descriere,si in d_nivel(adica descriere_nivel) se introduce id-ul subcategorie din care face parte.....
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 630
Locație: Drobeta Turnu Severin

Trimis: Lun Noi 26, 2007 3:37 am    Titlul subiectului:  

Pai nu-i nevoie de d_nivel
Tabela poate arata asa
Cod:
ID   | CATEGORIE | NIVEL (ID_PARINTE) |        DESCRIERE
 1       Categ 1                0                    *Categoria 1
 2       Categ 2                0                    *Categorie 2
 3       SubCat 11             1                    **Categoria 1 1
 4       SubCat 12             1                    **Categoria 1 2
 5       SubCat 13             1                    **Categoria 1 3
 6       SubCat 111           3                    ***Categoria 1 1 1
 7       SubCat 112           3                    ***Categoria  1 1 2
 8       Categ 3                0                    *Categorie  3
In alta reprezentare arata asa

     - Categ 1
           - Categ 11
                 - Categ 111
                 - Categ 112
            - Categ 12
            - Categ 13
       - Categ 2
       - Categ 3

Deci poti avea oricate categorii, subcategorii la categorii si subcategorii la subcategorii.
Interesanta este functia recursiva care citeste acest arbore.

In MySQL poti include proceduri/functii si poti construi triggere ca sa te impiedice sa adaugi o subcategorie fara ca parintele sa existe.
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
http://dev.mysql.com/doc/refman/5.0/en/stored-procedure-last-insert-id.html
http://dev.mysql.com/doc/refman/5.0/en/stored-procedures.html
Sus  
saitek



Data înscrierii: 23/Sep/2007
Mesaje: 446

Trimis: Lun Noi 26, 2007 6:24 pm    Titlul subiectului:  

Eu is nebun delegat...e chiar super simplu nu stiu ce ideei am avut eu in cap:
|id|categorie|nivel|descriere|
1 Mama 0 0
2 Copil 1 sunt cuminte

---------------------------------


$query1 = mysql_query("SELECT * FROM `".$table."` WHERE `nivel` = '".$row0['cat_id']."'");;
asa merge pentru ca descriere ii default 0,si daca ii zero inseamna ca ii categorie principala...nu am incercat ideeia dar e chiar banala,mi-am dat seama cand mam pus la 5 dimineata in pat.
//Tested and worked
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 -> MySQL
Pagina 1 din 1


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