@Psihoshit

Некорректно работает функция вывода данных таблицы. Как исправить?

Функция show_list выводит пустую таблицу.
Ячейки в таблице: code_s, name_s, city_s, phone_s, stat.
Данные в них имеются...
Прошу помощи
<?php 
$link = mysql_connect('localhost', 'alex', 'alfred')
    or die('Не удалось соединиться: ' . mysql_error());
echo 'Соединение успешно установлено';
mysql_select_db('db1') or die('Не удалось выбрать базу данных');
mysql_query("SET NAMES 'utf8'"); 
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");

if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist";  
  
switch ( $_GET["action"] ) 
{ 
  case "showlist":    // Список всех записей в таблице БД
    show_list(); break; 
  case "addform":     // Форма для добавления новой записи 
    get_add_item_form(); break; 
  case "add":         // Добавить новую запись в таблицу БД
    add_item(); break;
  case "editform":    // Форма для редактирования записи 
    get_edit_item_form(); break; 
  case "update":      // Обновить запись в таблице БД
    update_item(); break; 
  case "delete":      // Удалить запись в таблице БД
    delete_item(); break;
  default: 
    show_list(); 
}
function show_list() 
{ 
  $query = 'SELECT code_s, name_s, city_s, phone_s, stat FROM SUPPL WHERE 1'; 
  $res = mysql_query( $query ); 
  echo '<h2>Список</h2>'; 
  echo '<table border="2" cellpadding="10" cellspacing="1">'; 
  echo '<tr><th>ID</th><th>Наименование</th><th>Город</th><th>Телефон</th><th>статус</th><th>Ред.</th><th>Удл.</th></tr>'; 
  while ( $item = mysql_fetch_array( $res ) ) 
  { 
    echo '<tr>'; 
    echo '<td>'.$item['Code_S'].'</td>'; 
    echo '<td>'.$item['Name_S'].'</td>'; 
    echo '<td>'.$item['City_S'].'</td>';
    echo '<td>'.$item['Phone_s'].'</td>'; 
    echo '<td>'.$item['Stat'].'</td>'; 
    echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editform&id='.$item['Code_s'].'">Ред.</a></td>'; 
    echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['Code_s'].'">Удл.</a></td>'; 
    echo '</tr>'; 
  } 
  echo '</table>';
  echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=addform">Добавить</a></p>';  
} 

// Функция формирует форму для добавления записи в таблице БД 
function get_add_item_form() 
{ 
  echo '<h2>Добавить</h2>';  
  echo '<form name="addform" action="'.$_SERVER['PHP_SELF'].'?action=add" method="POST">'; 
  echo '<table>'; 
  echo '<tr>'; 
  echo '<td>Наименование</td>'; 
  echo '<td><input type="text" name="Name_S" value="" /></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td>Город</td>'; 
  echo '<td><textarea name="City_S"></textarea></td>'; 
  echo '</tr>';
  echo '<tr>'; 
  echo '<td>Телефон</td>'; 
  echo '<td><textarea name="Phone_S"></textarea></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td>Статус</td>'; 
  echo '<td><textarea name="stat"></textarea></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td><input type="submit" value="Сохранить"></td>'; 
  echo '<td><button type="button" onClick="history.back();">Отменить</button></td>'; 
  echo '</tr>'; 
  echo '</table>'; 
  echo '</form>'; 
}

// Функция добавляет новую запись в таблицу БД  
function add_item() 
{ 
  $name_s = mysql_real_escape_string( $_POST['Name_s'] ); 
  $city_s = mysql_real_escape_string( $_POST['City_s'] );
  $phone = mysql_real_escape_string( $_POST['Phone_S'] ); 
  $stat = mysql_real_escape_string( $_POST['Stat'] ); 
  $query = "INSERT INTO SUPPL (Name_s, City_s, Phone_s, stat) VALUES ('".$name_s."', '".city_s."', '".$phone."', '".$stat."');"; 
  mysql_query ( $query ); 
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
}

// Функция формирует форму для редактирования записи в таблице БД 
function get_edit_item_form() 
{ 
  echo '<h2>Редактировать</h2>'; 
  $query = 'SELECT Name_s, City_s, Phone_s, stat, FROM SUPPL WHERE Code_s='.$_GET['Code_s']; 
  $res = mysql_query( $query ); 
  $item = mysql_fetch_array( $res ); 
  echo '<form name="editform" action="'.$_SERVER['PHP_SELF'].'?action=update&id='.$_GET['Code_s'].'" method="POST">'; 
  echo '<table>'; 
  echo '<tr>'; 
  echo '<td>Наименование</td>'; 
  echo '<td><input type="text" name="title" value="'.$item['Name_S'].'"></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td>Описание</td>'; 
  echo '<td><textarea name="City_s">'.$item['City_s'].'</textarea></td>'; 
  echo '</tr>';
  echo '<tr>'; 
  echo '<td>Телефон</td>'; 
  echo '<td><input type="text" name="phone_s" value="'.$item['phone_S'].'"></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td>Статус</td>'; 
  echo '<td><input type="text" name="stat" value="'.$item['stat'].'"></td>'; 
  echo '</tr>'; 
  echo '<tr>'; 
  echo '<td><input type="submit" value="Сохранить"></td>'; 
  echo '<td><button type="button" onClick="history.back();">Отменить</button></td>'; 
  echo '</tr>'; 
  echo '</table>'; 
  echo '</form>'; 
} 

// Функция обновляет запись в таблице БД  
function update_item() 
{ 
  $name_s = mysql_real_escape_string( $_POST['Name_S'] ); 
  $city_s = mysql_real_escape_string( $_POST['city_s'] );
  $phone = mysql_real_escape_string( $_POST['phone_S'] ); 
  $city_s = mysql_real_escape_string( $_POST['stat'] ); 
  $query = "UPDATE suppl SET name_s='".name_s."', city_s='".$city_s."', phone_s='".$phone."', stat='".$stat."' 
            WHERE code_s=".$_GET['code_s']; 
  mysql_query ( $query ); 
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
} 

// Функция удаляет запись в таблице БД 
function delete_item() 
{ 
  $query = "DELETE FROM suppl WHERE code_s=".$_GET['code_s']; 
  mysql_query ( $query ); 
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
} 
  
?>

Скриншот результата ниже.

6cc3bf4fc1d84ce1a5acd4ab44679be9.png
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
code_s - не Code_S
соблюдайте регистр символов
и выкиньте уже mysql_*
этому старью надо на упокой
только mysqli_* или pdo_
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы