За последние 24 часа нас посетили 17854 программиста и 1600 роботов. Сейчас ищут 840 программистов ...

помогите со списком

Тема в разделе "PHP для новичков", создана пользователем writer, 19 авг 2012.

  1. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Передавать указатель на соединение с базой в mysql_* функциях - не обязательно. Если его нет - то используется последнее открытое соединение. Указатель на соединение с базой $db обязательно нужно передавать в случаях, когда один PHP-скрипт одновременно работает с двумя и более разными подключениями к базам данных, чтобы PHP знал, к какой именно базе нужно делать данный запрос. Однако я предпочитаю всегда передавать этот указатель.
    По поводу белого экрана. Попробуй открыть исходный код страницы и посмотри, возможно там косяк в сгенерированном HTML.
     
  2. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1. <?php
    2.     $db_host='127.0.0.1';
    3.     $db_login='root';
    4.     $db_pass='';
    5.     $db_name='zakaz';
    6.     $db = mysql_connect($db_host,$db_login,$db_pass);
    7.     $connect=false;
    8. if(!$connect=mysql_connect('127.0.0.1','root','')) {
    9.     exit(mysql_error().' <> '.mysql_errno());
    10. } else if(!mysql_select_db('zakaz',$connect)) {
    11.     exit(mysql_error().' <> '.mysql_errno());
    12. } else {
    13. mysql_set_charset('cp1251',$db);
    14. } function query($query) {
    15. global $connect;
    16.     if($connect && ''!=$query) {
    17.         return mysql_query($query,$connect)or exit(mysql_error().'<br>'.mysql_errno());
    18.     }
    19. return false;
    20. }
    21.  
    22. //Вот я подключился и идет функция которую я вообще даже прочитать с моими знаниями не могу.
    23. function td($td,$id=null) {
    24.     $id=($id)?' id="'.$id.'"':'';
    25.     return'<td'.$id.'>
    26.         '.$td.'
    27.     </td>';
    28. }
    29. //алее идет запрос обьединения столбцов
    30. $sql=mysql_query("SELECT `fz`.*,`tr`.* FROM formzakaz as `fz` INNER JOIN tender as `tr` ON `fz`.`id`=`tr`.`forid`")or exit(mysql_error().'<br>'.mysql_errno());
    31. $table='';
    32. //дальше идет начало таблицы со вставкой данных
    33. echo '<table>';
    34. while($array=mysql_fetch_assoc($sql)) {
    35.     $table.='<tr style="color:red;">
    36.                 '.td($array['forid'],'one').'
    37.                 '.td($array['id'],'tho').'
    38.                 '.td($array['name'].'id'.$array['forid']).'</tr>';          
    39. }
    40. //Таблица заканчивается
    41. echo '
    42.  
    43.     <?=$table?>
    44. </table>';
    45. ?>
    Я если до этого понимал еще что к чему более менее то сейчас мозг отказывается...
    выводит пустую страницу.
    вод хтмл
    Код (Text):
    1. <table>
    2.     <?=$table?>
    3. </table>
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Лично для себя щас взял создал, все пашет...
    Указатель желательно указывать.

    Код (PHP):
    1. function td($td,$id=null) {
    2.     $id=($id)?' id="'.$id.'"':'';
    3.     return'<td'.$id.'>
    4.         '.$td.'
    5.     </td>';
    6. } 
    Код (PHP):
    1. $connect=false;
    2. if(!$connect=mysql_connect('localhost','root','pass')) {
    3.     exit(mysql_error().' <> '.mysql_errno());
    4. } else if(!mysql_select_db('z',$connect)) {
    5.     exit(mysql_error().' <> '.mysql_errno());
    6. } else {
    7.     mysql_set_charset('utf8',$connect);
    8. } 
    Код (PHP):
    1. function query($query) {
    2. global $connect;
    3.     if($connect && ''!=$query) {
    4.         return mysql_query($query,$connect);
    5.     }
    6. return false;
    7. } 
    Код (PHP):
    1. $sql=query("SELECT `fz`.*,`tr`.* FROM `formzakaz` as `fz` INNER JOIN `trender` as `tr` ON `fz`.`id`=`tr`.`forid`"); 
    2. $table='';
    3. while($array=mysql_fetch_assoc($sql)) {
    4.     $table.='<tr>
    5.                 '.td($array['name'],'one').'
    6.                 '.td($array['forid'],'tho').'
    7.                 '.td($array['id'],'id'.$array['forid']).'
    8.             </tr>';
    9. } 
    Код (PHP):
    1. <table>
    2.     <?=$table?>
    3. </table>
    Name2 --------- 2 --------- 1
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
     
  5. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    АААаааа!!!! ура!!!!!Спасибо огромнейшее!!!!!
    Your,за твой мозг и главное терпение к таким как я)))
    sobachnik,а тебе за то что поставил финальную точку))) я грешил на это но не понимаю как и в какую сторону править)))

    Добавлено спустя 8 минут 14 секунд:
    но все равно косяк..
    HTML
    Код (Text):
    1. <table><tr style="color:red;">
    2.                 <td id="one">
    3.         3
    4.     </td>
    5.                 <td id="tho">
    6.         Сергей
    7.     </td>
    8.                 <td>
    9.         Иванов Константинович
    10.     </td></tr><tr style="color:red;">
    11.                 <td id="one">
    12.         4
    13.     </td>
    14.                 <td id="tho">
    15.         Сергей
    16.     </td>
    17.                 <td>
    18.         Иванов Константинович
    19.     </td></tr></table>
    что выводит:
    3 Сергей Иванов Константинович
    4 Сергей Иванов Константинович

    должно:
    3 Сергей Иванов Константинович
    3 Иванов Иван Иванович

    должен искать схожие значения и выводить их

    Добавлено спустя 46 секунд:
    ну имеется в виду forid. таблицы в звпросе поменять местами?

    Добавлено спустя 2 минуты 10 секунд:
    /php/u4ast.php?id=4
    id из адресной надо брать при этом?
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. function query($query) {
    2. global $connect;
    3.     if($connect && ''!=$query) {
    4.         if(@mysql_errno($connect)) {
    5.             exit(mysql_error($connect).'<>'.mysql_errno($connect));
    6.         }
    7.         return mysql_query($query,$connect);
    8.     }
    9. return false;
    10. } 

    =)))




    Предыдущий пост не понял.
     
  7. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    выовдит значения не равные. тоесть 3 и 4 это forid который долен быть одинаковым. так как я нажал на кнопку у которой id=3.
     
  8. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1. <?php
    2. $db_host='127.0.0.1';
    3.     $db_login='root';
    4.     $db_pass='';
    5.     $db_name='zakaz';
    6.     $table = 'tender';
    7.     $db = mysql_connect($db_host,$db_login,$db_pass);
    8.     $connect=false;
    9. if(!$connect=mysql_connect('127.0.0.1','root','')) {
    10.     exit(mysql_error().' <> '.mysql_errno());
    11. } else if(!mysql_select_db('zakaz',$connect)) {
    12.     exit(mysql_error().' <> '.mysql_errno());
    13. } else {
    14. mysql_set_charset('cp1251',$db);
    15. } function query($query) {
    16. global $connect;
    17.     if($connect && ''!=$query) {
    18.         return mysql_query($query,$connect)or exit(mysql_error().'<br>'.mysql_errno());
    19.     }
    20. return false;
    21. }
    22. //Подключился к БД
    23.  
    24. $id = htmlspecialchars($_GET["id"]);//Нашел id
    25. while ($sql_data['forid'] = $id) {
    26. $query = "SELECT id,forid, name FROM $table WHERE forid='$id'";
    27.  
    28. echo $sql_data['id'].$sql_data['name'].$sql_data['forid'];
    29. }//И вот как бы по идее код счетчика но он выдает ошибку и пишет бусконечно.
    30. ?>
    вот написал такое вот...выдает нереальный баг- выводит бесконечное кол-во строк.
    Сейчас то я уже близок к победе))) уже нашел как найти $id чтобы вывести из БД только толбцы подходящие под уравнение forid=$id.
    Помогите как этот список правильно написать?

    Добавлено спустя 3 минуты 12 секунд:
    Warning: mysql_fetch_array(): supplied resource is not a valid MySQL result resource in I:\minitender\php\u4ast.php on line 29
    вот ошибка.естественно в счетчике

    Добавлено спустя 20 минут 42 секунды:
    Код (Text):
    1.  
    2. $id = htmlspecialchars($_GET["id"]);
    3.     $soo = mysql_query("SELECT * FROM tender WHERE forid = '$id'");
    4.     $kol = mysql_num_rows($soo);
    5.     for ($i=1; $i <= $kol; $i++) {
    6.         $kol2 = mysql_fetch_assoc($soo);
    7.        
    8.        echo ' <p><strong>'. $kol2['name'].'</strong>'.$kol2['id'].'</p>';
    9.        
    10.         }
    вот примерно накидал. просто выводить хоть щас могу))) щас еще до ума доведу) извините что мозг парил не тем чем надо...каюсь.но вроде правильно изложил в начале какие задачт на прмере дома...про адресную строку поздно понял.