ФорумПрограммированиеPHP для идиотов → не получается заполнить таблицы базы данных

не получается заполнить таблицы базы данных

  • vlad33

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 28 октября 2011 г. 0:51

    задача следующая:с помощью скрипта сгенерировать содержимое таблиц:
    должно быть 20 групп, на каждую из них от 15 до 25 категорий, на каждую категорию от 35 до 70 элементов.

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

    <?php
    include "testdata.php";
    $codeb= array_merge( range('A', 'Z')); //массив для генерации букв
    $_SESSION['codeb'] ='';
    for ($i = 0; $i <30 ; $i++)
    $_SESSION['codeb'] .= $codeb[array_rand($codeb)];
    echo "<br>".$_SESSION['codeb']."<br>";

    $codec= array_merge(range('0', '9')); //массив для генерации чисел
    $_SESSION['codec'] ='';
    for ($i = 0; $i < 11; $i++)
    $_SESSION['codec'] .= $codec[array_rand($codec)];
    echo $_SESSION['codec']."<br>";


    function active(){ //ф-ция по выводу активности да или нет
    if( rand(0,1)==1 ){
    $temp='yes';
    }
    else $temp='no';
    return $temp;
    }

    $result = mysql_query("SELECT * FROM $db_name.groups",$link);

    if (mysql_num_rows($result) == 0)
    {
    echo "Таблица Группы была уже заполнена<br>";
    }
    /*else
    {
    $tgroups="INSERT into $db_name.groups (id_group,name,description,active) values(not null,'".$_SESSION['codeb']."',
    '".$_SESSION['codeb']."','".active()."')";

    mysql_query($tgroups, $link) or die("невозможно заполнить таблицу Группы<br>");
    }*/

    $result = mysql_query("SELECT * FROM $db_name.categories",$link);

    if (mysql_num_rows($result) == 0)
    {
    echo"<br>Таблица категории была уже заполнена<br>";
    }
    /*else
    {
    $tcategories="INSERT into $db_name.categories (id_group, id_name, description, active) VALUES (not null,not null, '".$_SESSION['codeb']."',
    '".active()."')";

    mysql_query($tcategories, $link) or die("невозможно заполнить таблицу Категории<br>");
    }*/

    $result = mysql_query("SELECT * FROM $db_name.items",$link);

    if (mysql_num_rows($result) == 0)
    {
    echo"<br>Таблица items была уже заполнена<br>";
    }
    /*else
    {
    $titems="INSERT into $db_name.items (id_category, id_name, description, price, active) VALUES (not null,not null, '".$_SESSION['codeb']."',
    '".$_SESSION['codec']."', '".active()."')";

    mysql_query($titems, $link) or die("невозможно заполнить таблицу items<br>");
    }*/

    for($tgroups=0;$tgroups<20;$tgroups++){
    $tgroups="INSERT into $db_name.groups (name,description,active) values('".$_SESSION['codeb']."',
    '".$_SESSION['codeb']."','".active()."')";
    mysql_query($tgroups, $link) or die("невозможно заполнить таблицу Группы<br>");
    for($tcategories=0;$tcategories>=15, $tcategories<=25;$tcategories++){
    $tcategories="INSERT into $db_name.categories (description, active) VALUES ('".$_SESSION['codeb']."',
    '".active()."')";
    mysql_query($tcategories, $link) or die("невозможно заполнить таблицу Категории<br>");
    for($titems=0; $titems>=35, $titems<=70; $titems++){
    $titems="INSERT into $db_name.items (description, price, active) VALUES ('".$_SESSION['codeb']."',
    '".$_SESSION['codec']."', '".active()."')";
    mysql_query($titems, $link) or die("невозможно заполнить таблицу items<br>");
    }
    }
    }



    /*do{
    $tgroups;
    mysql_query($tgroups, $link) or die("невозможно заполнить таблицу Группы<br>");
    do{
    $tcategories;
    mysql_query($tcategories, $link) or die("невозможно заполнить таблицу Категории<br>");
    do{
    $titems;
    mysql_query($titems, $link) or die("невозможно заполнить таблицу Элементы<br>");
    }
    while($titems++ && $titems>=35 && $titems<=70);
    echo"<br>Элементы заполнены<br>";
    }
    while($tcategories++ && $tcategories>=15 && $tcategories<=25);
    echo"<br>Категории заполнены<br>";
    }
    while($tgroups=20);
    echo"<br>Группы заполнены<br>";
    mysql_close($link); */

    ?>

  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 28 октября 2011 г. 1:40, спустя 48 минут 33 секунды

    вопрос в чем? хочешь чтобы написали за тебя?
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 28 октября 2011 г. 1:43, спустя 2 минуты 48 секунд

    День быдлокода на пiха.ру
    Даже отвечать не хочется - даже я когда начинал программировать, классе в девятом, таких ошибок логических не допускал
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 28 октября 2011 г. 10:26, спустя 8 часов 43 минуты 14 секунд

    vlad33, твоя функция "активности" говно, которое легко сократить до
    function active()
    {
    return rand(0,1);
    }

    Хотя в целом вообще не вижу смысла создавать такую функцию, можно просто писать rand(0,1). Ибо использование строковых "yes" и "no" хуйня как в плане лишнего места в базе, так и в плане лишнего места в коде вообще.

    А про запросы в цикле тут вообще все молчат, ибо это поповщина сплошная. А Попова нужно посылать в его "фамильную" ценность, то есть в жопу!
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 октября 2011 г. 10:51, спустя 25 минут 7 секунд

    пхп это рассадник зла просто
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • vlad33

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 29 октября 2011 г. 0:28, спустя 13 часов 36 минут 48 секунд

    Раздел форума для новичков. Реально по делу ответил только Givi (спасибо, учту), а остальные, только раскритиковали, а реально указать на ошибки так и не додумались, писать код за меня не нужно, я и сам в состоянии; прошу указать на ошибки и помочь советом; может и быдлокод, но я хочу научиться делать все грамотно, поэтому и обратился за помощью.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!