Sonuç döndürür MySQL Açılır ... basit görünüyor?

2 Cevap php

Ben bir açılan kutu için bir mysql db çağıran bir PHP kaydı var. Endişeye gerek yok, gayet iyi çalışıyor. Ne anlamaya olamaz olsa şudur:

Kutusu bir isim ile doldurmak ZORUNDADIR.BU, ancak POST bir id alanına gitmek gerekiyor. Ne demek bu:

REGISTRATION.PHP

function generate_business_selections($default = '')
{
	$output = '';
	$application =& application();
	$sql =& sql();
	$lang_col = $application->get_language(LANG_COLUMN);
	$query = "SELECT id, name_en, {$lang_col} FROM ".DB_DEFAULT_PREFIX."members WHERE profile_type='Business'";
	$results = $sql->query($query);
	$num_rows = $sql->num_rows(); $sql_counter = 0;
	while($num_rows>$sql_counter++)
	{
		$this_result = $sql->fetch(MYSQL_ASSOC,$results);
		$output .= "\t" . '<option value="'.$this_result["name_en"].'"'.($default==$this_result["name_en"] ? ' selected' : '').'>'.$this_result[$lang_col].'</option>' . "\n";
	}
	return $output;
}

REGISTRATIONCOMPLETE.PHP

	$member_array["linkedid"] = $application->clean_input('register_business_selection','trim');

Bu kutuya adını çekerek elde, ama ne bilmeniz gereken db başka bir alanda sadece id dönmek nasıl. Bu alan virgül (ben db tasarım vermedi, böylece biri için beni suçlama!) Numaraları delimitted edilir. Bu adlandırılmış nesne kimliği ile alanı doldurmak gerekiyor. Tartışmanın aşkına:

id = 2

name_en = Bob Jones

field to insert to = linkedid And this must be populated with the ID, not the name_en.

Tanrım, o kadar discombobulated olduğunu. Birisi mantıklı umut! :)

Teşekkürler!

2 Cevap

Ben kişinin kimliği listenin değeri aşağı damla olmak istiyorum düşünüyorum.

$output .= "\t" . '<option value="'.$this_result["id"].'"'.($default==$this_result["name_en"] ? ' selected' : '').'>'.$this_result[$lang_col].'</option>' . "\n";

Eğer html çıktıda istediğim şu:

<option value="ID">display name</option>

Görünen ad şeklinde görünür ama form gönderildiğinde Kimlik gönderilecektir.

Ben Kit bunu yapmak için doğru kodu olduğunu düşünüyorum.