PHP ve MySQL kullanarak veritabanı dizi veri depolamak için nasıl

3 Cevap php

Ben PHP ve MySQL için yeni ve ben friend[], hair_type[], hair_color[] MySQL ve PHP bir örnek kullanarak güzel olurdu üç farklı dizileri aşağıdaki dizi verileri depolamak öğrenmek için çalışıyorum. Teşekkürler

Burada HTML kodudur.

<input type="text" name="friend[]" id="friend[]" />

<select id="hair_type[]" name="hair_type[]">
    <option value="Hair Type" selected="selected">Hair Type</option>
    <option value="Straight">Straight</option>
    <option value="Curly">Curly</option>
    <option value="Wavey">Wavey</option>
    <option value="Bald">Bald</option>
</select>

<select id="hair_color[]" name="hair_color[]">
    <option value="Hair Color" selected="selected">Hair Color</option>
    <option value="Brown">Brown</option>
    <option value="Black">Black</option>
    <option value="Red">Red</option>
    <option value="Blonde">Blonde</option>
</select>





<input type="text" name="friend[]" id="friend[]" />

<select id="hair_type[]" name="hair_type[]">
    <option value="Hair Type" selected="selected">Hair Type</option>
    <option value="Straight">Straight</option>
    <option value="Curly">Curly</option>
    <option value="Wavey">Wavey</option>
    <option value="Bald">Bald</option>
</select>

<select id="hair_color[]" name="hair_color[]">
    <option value="Hair Color" selected="selected">Hair Color</option>
    <option value="Brown">Brown</option>
    <option value="Black">Black</option>
    <option value="Red">Red</option>
    <option value="Blonde">Blonde</option>
</select>

Aşağıda MySQL tablo olduğunu.

CREATE TABLE friends_hair (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
hair_id INT UNSIGNED NOT NULL, 
user_id INT UNSIGNED NOT NULL, 
PRIMARY KEY (id)
);


CREATE TABLE hair_types (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
friend TEXT NOT NULL,
hair_type TEXT NOT NULL,
hair_color TEXT NOT NULL,
PRIMARY KEY (id)
);

3 Cevap

Saç tipi, saç rengi ve arkadaşı için bir tablo oluşturun.

Saç tipi ve saç rengi her id birincil anahtar ve bir name alanını gerekir.

Arkadaş birincil id ve anahtar ve name, hair_type_id alanları ve hair_color_id gerekmektedir.

Veritabanından saç tipine ve saç rengi kendi id değerlerini olun.

Eğer $ _POST ['arkadaş'] dizisi ile form döngü gönderdiğinizde, arkadaşı veritabanının arkadaşı isim, saç tipi id ve saç rengi id yerleştirin.

Girişlerini sterilize unutmayın. Bu bir örnek için mysql_real_escape_string() göz atın.

Daha fazla yardıma ihtiyacınız olursa ben bunu daha detaylı yapabilirsiniz.

http://pastie.org/928039: Eğer sadece o basit bir cevap için pastie kontrol bir saç tipi ve kullanıcı başına bir saç rengi var olduğunu varsayarak

Eğer artık aynı anda Wavey ve düz saçlara sahip olamaz o da kabul edelim? Bir user_hair_colour tablo user_hair_colour (User_id PK, hair_colour_id PK) gerekir bu yüzden birçok bir çok var bu durumda Renkler farklı olabilir: P

 select 
   u.*,
   hc.name as hair_colour_name,
   ht.name as hair_type_name
 from 
  users u
 inner join hair_colour hc on u.hair_colour_id = hc.hair_colour_id 
 inner join hair_type ht on u.hair_type_id = ht.hair_type_id 
 order by 
  u.username;

Örnekler wth PHP ve MySQL üzerinde iyi bir öğretici bulunabilir

http://w3schools.com/php/php_mysql_intro.asp