Ben bir php sayfasında sorguyu girerek tablodan bilgi ayıklamak bir kod yazıyorum. I arama kutusuna bir sql deyimi yazarsanız Yani, bana bir sonuç verecek.
Sorun: mysql deyimi, yukarıda açıklandığı gibi kullanıcının girdiği her şey olabilir. Entered_date ve UNIQUE_ID olduğu gibi tablolar arasında tekrar bir kaç sütun vardır. Ben mysql_fetch_assoc kullanarak alanları ayıklayın. Ben bu şekilde yaptığınızda, yinelenen sütunlar kaldırıldı. Ama sonra tarih alan olup olmadığını kontrol edin ve buna göre "4 Ocak 2010" bir insan okunabilir forma değiştirmek gerekir. Bunun için ben mysql_field_type güveniyor. Sorunu var.
öyle görünüyor mysql_field_type dikkate çoğaltılamaz olanlar dahil olmak üzere tüm alanları alır. Ama Mysql_Fetch_Assoc tarafından oluşturulan benim masa yinelenen alanlar almayan. Anlardın Bu nedenle, aşağıdaki kodu, yanlışlıkla bazı alanlar tarih alanları olduğunu düşünüyor ve ben baskılı yanlış cevap alıyorum.
while($search_now1=mysql_fetch_assoc($search_now))
{
// echo "in here";
$checkvalue=0;
echo "<tr>";
foreach($search_now1 as $key => $value)
{
if($key=='type')
{
switch($value){
case 1:$value="Student";break;
case 2:$value="Normal";break;
case 3:$value="Government";break;
case 4:$value="compl";break;
case 5:$value="compl-For";break;
case 6:$value="Foreign";break;
}
}
else
if($key=='city')
{
$value=city($value);
}
else if($key=='state')
{
$value=state($value);
}
else if($key=='country')
{
if($value!='IN')
{
$value=state($value);
}
}
// this is the error prone area $checkvalue is incremented at the bottom
else if(mysql_field_type($search_now,$checkvalue)=='date')
{
$value=changedate($value);
}
if($value)
{
echo "<td class=\"";
if($checkvalue<8)
{
echo "show";
}
else
echo "none";
echo "\"><span class=\"$key\">$value</span></td>";
}
else if(!$value)
{
echo "<td class=\"";
if($checkvalue<8)
{
echo "show";
}
else
echo "none";
echo "\"><span class=\"$key\">-</span></td>";
}
$checkvalue++;
}
Bunu nasıl düzeltebilirim?