MySQL veritabanı kurulumu yardım

2 Cevap php

I am making a classifieds website... I have these 6 tables: Every category has sub-categories (or options) which you can see below.

Kullanıcının gizli bir göndermek istiyor ve gerekli formlara tüm bilgileri girmiş, ve ben aslında veritabanına veri eklemek için PHP kodu oluşturmak zorunda aşamada olduğumu söylüyorlar.

Ben böyle bir şey düşünüyorum:

mysql_query("INSERT INTO classifieds (classified_id, ad_id, poster_id, cat_id, area_id, headline, description) VALUES ($classified_id, '$ad_id', $poster_id, $cat_id, $area_id, '$headline', '$description')");

But I don't know where to take it from here... I think the posters table should not be like this, because how should I determine what the poster_id should be? Or should I set it to auto-increment? Remember this, posters may not log in or anything, so there is no problem with one person having multiple poster_table records if you know what I mean.

classified_id PHP tarafından oluşturulan rastgele benzersiz bir değer, böylece her zaman benzersiz olduğunu.

Lütfen bana yol! Ben birlikte doğru tabloları bağlamak nasıl bilmiyorum.

Eğer herhangi bir Q bana bildirin ve ben bu Q güncelleme olacak!

category table:
cat_id (PK)
cat_name

category_options table:
option_id (PK)
cat_id (FK)
option_name

option_values table:
value_id (PK)
option_id (FK)
value

classifieds table:
classified_id (PK)
ad_id (VARCHAR) something like "Bmw330ci_28238239832" which will appear in URL
poster_id (FK)
cat_id (FK)
area_id (FK)
headline
description
price
etc....

posters table:
poster_id (PK)
name 
email
tel
password

area table:
area_id (PK)
area
community

2 Cevap

Zaten sağ fikrim var. Birisi bir yazı oluşturur ve kişisel bilgileri girdiğinde, İLK posterler tabloya "afiş" kayıt eklemek. Bu tablo için "poster_id" birincil anahtar bir auto_increment alanı olmalıdır.

Sonra, sadece PHP'nin "mysql_insert_id" kullanılarak oluşturulan yeni posterin kimliği almak. Bu tamsayı değer "ilanlar" tablosunda "poster_id" yabancı anahtar alanına koymak numarası olacaktır.

Genellikle bir otomatik artış alanına birincil anahtarı ayarlamak gerekir.

Eğer tabloları bağladığınız ve kimliği üzerinde katılması gerektiğinde, önce ana tabloya eklemek ve o zaman sadece eklenen elemanın id almak için işlevini mysql_insert_id kullanabilirsiniz. Daha sonra yabancı anahtar olarak bu değeri kullanarak diğer tabloya ekleyebilirsiniz.

Bu şeyler yapmak için bir çok standart bir yoldur, bu yüzden sizin için iyi olmalı.