Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод данных.


Автор: ekodrive 14.9.2011, 07:43
Добрый день.Вот вывод определенных полей знаю .

Код

<?Php
$q = "select * from baza ";
$result=mysql_query($q);
$say=mysql_num_rows($result);
$arr=mysql_fetch_array($result);        
echo $arr["login"]."<br>";
?>


Ситуация такая есть 50 полей и мне надо выводить те которые не равно нулл  что делать?

А вот как сделать так, чтобы в результате запроса он выводил только те поля, в которых есть информация?
чтобы в HTML страницу он мне вывел только те параметры, которые я указал у товара, а которые не указывал, те пропустить 

Пробовал так 

Код

<?php
$q="select * from baza WHERE `kod1` IS NOT NULL AND `kod2` IS NOT NULL AND `kod3` IS NOT NULL AND `kod4` IS NOT NULL AND `kod5` IS NOT NULL AND `kod6` IS NOT NULL" ; 
$query=mysql_query($q);
$result=mysql_fetch_array($query);
echo "$result[kod1]<br>$result[kod2]<br>$result[kod3]<br>$result[kod4]<br>$result[kod5]<br>$result[kod6]";
?>


Не работает... Вернее выводит пустые поля... как мне быть ?

Автор: ekodrive 14.9.2011, 09:54
Вообшем таблица выгладит так 

+---------+----------------+---------+---------+-------+-------+
TopicID | Name          |kod1     | kod2   | kod3 | kod4   | 
+---------+----------------+---------+---------+----------+----+
|       1 | test1            |      10   |       5   | 3      |Пусто    | 
|       2 | test2            |      10   |       5   | 3      | 56        | 
|       3 | test3            | Пусто   |       4   | 1      | 6798    | 
|       4 | test4            |       9    |       4   | 2      |  Пусто  | 
+---------+--------------+---------+---------+----------+-----+


пробовал еще вот что 

Код

<?php
 include ('inc/conf.php');
$q="select * from baza WHERE kod1 IS NOT NULL AND kod2 IS NOT NULL AND kod3 IS NOT NULL AND kod4 IS NOT NULL AND kod5 IS NOT NULL AND kod6 IS NOT NULL" ; 
$query=mysql_query($q);
$result=mysql_fetch_array($query);
$massiv = array("$result[kod1]","$result[kod2]","$result[kod3]","$result[kod4]","$result[kod5]","$result[kod6]"); 
foreach($massiv as $key){
    echo ("$key<br>");
}
?>

Автор: CruorVult 14.9.2011, 10:43
А Вы уверены что пустые поля NULL а не 0 или пустая строка. Если NULL не был выставлен по умолчанию , при записи если поля не имеют значения то MySQL подбирает оптимально значения, для int - 0, string - пустая строка(но не NULL)

Автор: ekodrive 14.9.2011, 10:55
по умолчанию  поля у меня нулл  
Цитата

о при записи MySQL подбирает оптимально значения, для int - 0, string - пустая строка(но не NULL)


а что делать чтоб при записи он и оставил нулл чтоб при проверке было что проверять.

Автор: CruorVult 14.9.2011, 11:13

Цитата(ekodrive @  14.9.2011,  10:55 Найти цитируемый пост)
по умолчанию  поля у меня нулл 


похоже нет, или не все

Цитата(ekodrive @  14.9.2011,  10:55 Найти цитируемый пост)
а что делать чтоб при записи он и оставил нулл


Код

ALTER TABLE table_row CHANGE ........(тут тип и длина)..... NULL


В пхпмайадмине просто галочку NULL поставить в редактировании таблицы

Автор: ekodrive 14.9.2011, 11:31
user posted image 

DO.php

Код

<?php
$kod1=explode("@",$_POST['kod1']);
$kod2=explode("@",$_POST['kod2']); 
$kod3=explode("@",$_POST['kod3']); 
$kod4=explode("@",$_POST['kod4']); 
$kod5=explode("@",$_POST['kod5']); 

$q="INSERT INTO baza (id,kod1,kod2,kod3,kod4,kod5,kod6,) values ('','$kod1[0]','$kod2[0]','$kod3[0]','$kod4[0]','$kod5[0]','$kod6[0]')";
 mysql_query($q);
?>


read.php

Код

<?php

 $q="select * from baza WHERE kod1 IS NOT NULL AND kod2 IS NOT NULL AND kod3 IS NOT NULL AND kod4 IS NOT NULL AND kod5 IS NOT NULL AND kod6 IS NOT NULL" ;
 $query=mysql_query($q);
 $result=mysql_fetch_array($query);
 $massiv = array("$result[kod1]","$result[kod2]","$result[kod3]","$result[kod4]","$result[kod5]","$result[kod6]");
 foreach($massiv as $key){
     echo ("$key<br>");
 }
 ?>



Может есть более оптимальный вариант проста я туплю...

Автор: CruorVult 14.9.2011, 11:50
ekodrive, редактировать структуру таблицы нужно а не то, что вы мне сейчас показали

Автор: BuShaRt 14.9.2011, 12:45
Я бы порекомендовал чуть-чуть отступить от PHP и проекта, в пользу изучения основ MySQL: многие вопросы отпадут сами собой.

Автор: Sanchezzz 14.9.2011, 23:50
попробуйте в условии сделать kod3 > ''

Автор: BuShaRt 17.9.2011, 13:53
Цитата(Sanchezzz @  14.9.2011,  23:50 Найти цитируемый пост)
попробуйте в условии сделать kod3 > ''

Зачем Вы человеку рекомендуете обходить стороной проблемы проектирования структуры базы данных?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)