Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe, Datenbank nimmt keine neuen Daten und alte nicht löschen!

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe, Datenbank nimmt keine neuen Daten und alte nicht löschen!

    Hallo,

    hoffe hier kann mir jemand helfen.

    Folgendes Problem:

    Wir erstellen in unseren System einzelne Kategorien welche in die Datenbank gespeichert werden, das funktioniert soweit ganz gut, ABER, wenn wir eine bestimmte Anzahl an Kategorien eingegeben haben geht nix mehr. Es lassen sich keine weiteren hinzufügen, keine löschen und auch keine ändern.
    Am Script selbst konnte ich bisher keine Fehler finden, denke also das es etwas mit der Servereinstellung zu tun hat.

    Währe für guten Rat sehr dankbar.


    Mario

  • #2
    Wenn du keine mehr einfuegen kannst, hast du die Primary-Key-Spalte vielleicht auf TINYINT und der Zahlenbereich ist eben voll.

    Nicht loeschen nicht updaten ist mir noch nie untergekommen, hoechstens bei fehlerhaften Referenzen.

    Bitte poste also den relevanten Code, anders kann dir nicht geholfen werden.
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      Hallo!

      Und poste bitte aber auch das Formular fürs Update falls ih da eins benutzt. Ich habe so die Ahnung das ihr keine ID übergebt nach der ihr aber updaten wollt!

      mfg der litter
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      [URL]http://www.lit-web.de[/URL]

      Kommentar


      • #4
        !

        Hi,

        danke für die Antworten, hier mal der gesammte code:

        PHP-Code:
        <?
        session_start();
        define ('IN_ADMIN', 1);
        include_once ('../includes/global.php');
        if ($session->value('adminarea')!='Active')
        {
         header_redirect('login.php');
        }
        else
        {
         include_once ('header.php');
         $msg_changes_saved = '<p align="center" class="contentfont">' . AMSG_CHANGES_SAVED . '</p>';
         $parent_id = (!$_REQUEST['parent_id']) ? 0 : $_REQUEST['parent_id'];
         if (isset($_POST['form_save_settings']))
         {
          $template->set('msg_changes_saved', $msg_changes_saved);
          if ($_POST['country_id'])
          {
           foreach ($_POST['country_id'] as $key => $value)
           {
            $country_order = ($_POST['country_order'][$key]>0 && $_POST['country_order'][$key]<10000) ? $_POST['country_order'][$key] : 10000;
            $sql_update_countries = $db->query("UPDATE " . DB_PREFIX . "countriesa SET
             name='" . $db->rem_special_chars($_POST['name'][$key]) . "', country_order=" . $country_order . " WHERE
             id=" . $value);
           }
          }
          if (!empty($_POST['new_name']))
          {
           $sql_insert_country = $db->query("INSERT INTO " . DB_PREFIX . "countriesa (name, country_order, parent_id) VALUES
            ('" . $db->rem_special_chars($_POST['new_name']) . "', 10000, " . $parent_id . ")");
          }
          if (count($_POST['delete'])>0)
          {
           $delete_array = $db->implode_array($_POST['delete']);
           $sql_delete_countries = $db->query_silent("DELETE c,s FROM " . DB_PREFIX . "countriesa c LEFT JOIN
            " . DB_PREFIX . "countriesa s ON s.parent_id=c.id WHERE
            c.id IN (" . $delete_array . ")");
           
           if (!$sql_delete_countries)
           {
            $db->query("DELETE FROM " . DB_PREFIX . "countriesa WHERE id IN (" . $delete_array . ")");
            $db->query("DELETE FROM " . DB_PREFIX . "countriesa WHERE parent_id IN (" . $delete_array . ")");
           }
          }
         }
         (string) $countries_page_content = NULL;
         $sql_select_countries = $db->query("SELECT id, name, country_order FROM
          " . DB_PREFIX . "countriesa WHERE parent_id=" . $parent_id . " ORDER BY country_order ASC, name ASC");
         while ($country_details = $db->fetch_array($sql_select_countries))
         {
          $background = ($counter++%2) ? 'c1' : 'c2';
          $order_value = ($country_details['country_order']>0 && $country_details['country_order']<10000) ? $country_details['country_order'] : '';
          $countries_page_content .= '<input type="hidden" name="country_id[]" value="' . $country_details['id'] . '"> '.
           '<tr class="' . $background . '"> '.
           ' <td> ';
          
           $countries_page_content .= '<a href="table_countriesa.php?parent_id=' . $country_details['id'] . '"> '.
           '  <img src="images/catplus.gif" alt="' . AMSG_EDIT_STATES . '" width="20" height="20" border="0"></a>';
          $countries_page_content .= '</td> '.
               ' <td><input name="name[]" type="text" value="' . $country_details['name'] . '" size="60"></td> '.
           ' <td align="center"><input name="country_order[]" type="text" value="' . $order_value . '" size="8"></td> '.
           ' <td align="center"><input type="checkbox" name="delete[]" value="' . $country_details['id'] . '"></td> '.
           '</tr> ';
         }
         if ($parent_id)
         {
          (string) $state_header_message = null;
          $country_name = $db->get_sql_field("SELECT name FROM " . DB_PREFIX . "countriesa WHERE id=" . $parent_id, "name");
                $country_namex = $db->get_sql_field("SELECT parent_id FROM " . DB_PREFIX . "countriesa WHERE id=" . $parent_id, "parent_id");
          $state_header_message = '<tr class="c2"><td style="padding: 3px;">' . AMSG_EDIT_STATES_FOR . ' ' . $country_name .
           ' [ <a href="table_countriesa.php?parent_id=' . $country_namex . '"">' . GMSG_BACK . '</a> ]</td></tr>';
          $template->set('state_header_message', $state_header_message);
         }
         $template->set('header_section', AMSG_TABLES_MANAGEMENT);
         $template->set('subpage_title', AMSG_EDIT_COUNTRIES);
         $template->set('parent_id', $parent_id);
         $template->set('countries_page_content', $countries_page_content);
         $template_output .= $template->process('table_countriesa.tpl.php');
         include_once ('footer.php');
         echo $template_output;
        }
        ?>

        Kommentar


        • #5
          !!

          Und hier nochmal die SQL-Tabelle dafür:

          PHP-Code:
          CREATE TABLE `b2b_countriesa` (
            `
          idint(11NOT NULL auto_increment,
            `
          namevarchar(255NOT NULL default '',
            `
          country_orderint(11NOT NULL default '0',
            `
          parent_idint(11NOT NULL default '0',
            
          PRIMARY KEY  (`id`),
            
          KEY `parent_id` (`parent_id`),
            
          KEY `parent_id_2` (`parent_id`,`country_order`,`name`),
            
          KEY `parent_id_3` (`parent_id`,`id`)
          ENGINE=MyISAM AUTO_INCREMENT=5714 DEFAULT CHARSET=utf8 COMMENT='Table with countriesa' AUTO_INCREMENT=5714 
          Sind bisher 5675 Einträge drin.

          Kommentar


          • #6
            Ohne das Template-System zu kennen, kann ich mit dem Code nicht viel anfangen.Aber hast du mal versucht, die Änderungen direkt mit SQL zu machen?
            Gruss
            L

            Kommentar


            • #7
              !!!

              Ja, in der DB selbst kann ich löschen, ändern, hinzufügen!

              Kommentar


              • #8
                !

                Fileicht hilft euch das hier noch:

                PHP-Code:
                function query ($query$debug_output false$die true)
                 {
                  if (
                $debug_output)
                  {
                   (string) 
                $explain_output null;
                   
                   
                $explain_result = @mysql_query("EXPLAIN " $query);
                   
                   
                $explain_output '<table width="100%" cellpadding="3" cellspacing="2" class="contentfont border"> '.
                    
                ' <tr class="c4"> '.
                    
                '  <td colspan="10">SQL COMMAND</td> '.
                    
                ' </tr> '.
                    
                ' <tr> '.
                    
                '  <td colspan="10">EXPLAIN ' $query '</td> '.
                    
                ' </tr> '.
                    
                ' <tr class="c4"> '.
                    
                '  <td>id</td> '.
                    
                '  <td>select_type</td> '.
                    
                '  <td>table</td> '.
                    
                '  <td>type</td> '.
                    
                '  <td>possible_keys</td> '.
                    
                '  <td>key</td> '.
                    
                '  <td>key_len</td> '.
                    
                '  <td>ref</td> '.
                    
                '  <td>rows</td> '.
                    
                '  <td>Extra</td> '.
                    
                ' </tr>';
                    
                ' <tr class="c4"> '.
                    
                '  <td colspan="10"></td> '.
                    
                ' </tr> ';
                   if (
                $explain_result)  
                   {
                    while (
                $explain $this->fetch_array($explain_result))
                    {
                     
                $explain_output .= '<tr class="c1"> '.
                      
                ' <td>' $explain['id'] . '</td> '.
                      
                ' <td>' $explain['select_type'] . '</td> '.
                      
                ' <td>' $explain['table'] . '</td> '.
                      
                ' <td>' $explain['type'] . '</td> '.
                      
                ' <td>' implode(', 'explode(','$explain['possible_keys'])) . '</td> '.
                      
                ' <td>' $explain['key'] . '</td> '.
                      
                ' <td>' $explain['key_len'] . '</td> '.
                      
                ' <td>' $explain['ref'] . '</td> '.
                      
                ' <td>' $explain['rows'] . '</td> '.
                      
                ' <td>' $explain['Extra'] . '</td> '.
                      
                '</tr>';    
                    }
                   }
                   
                $explain_output .= '</table>';
                   
                   echo 
                $explain_output;   
                  }
                  
                //echo $query . '<br>'; ## used if we want to display all queries made on a page
                  
                $result = @mysql_query($query);
                  
                  if (!
                $result)
                  {
                   
                $mysql_error $this->display_error(MSG_ERROR_MYSQL_QUERY$this->sql_error($result), $query);
                   if (
                $die)
                   {
                    die (
                $mysql_error);
                   }
                   else 
                   {
                    
                $this->query_error $mysql_error;
                    
                    return 
                null;
                   }
                  }
                  else 
                  {
                   return 
                $result;
                  }
                 }
                 function 
                query_silent ($query)
                 {
                  
                $result = @mysql_query($query);
                  if (!
                $result
                  {
                   return 
                false;
                  }
                  else 
                  {
                   return 
                $result;
                  }
                 } 

                Kommentar


                • #9
                  Wieder jemand, der/die die Forumsregeln nicht gelesen hat. Eigentlich noch schlimmer, mit
                  PHP-Code:
                    $result = @mysql_query($query); 
                  wird nicht nur kein mysql_error() abgefragt, eventuelle PHP-Fehlermeldungen werden durch das @ auch noch unterdrückt .
                  Also ändere das mal überall in
                  PHP-Code:
                    $result mysql_query($query) or exit("Fehler: " mysql_error "<br />Abfrage: $query<br />; 
                  Gruss
                  L

                  Kommentar


                  • #10
                    Was mir aber in dem Code auf alle Fälle auffällt ist das zwar Formularfelder enthalten sind aber eigentlich kein Formular existiert weil das hier fehlt

                    <form action="" method="post"></form>

                    Und einen Submit Butten für ein Update wie ein Löschen finde ich da auch nirgends!

                    Wei es gibt in demCode z.B. so was if (!empty($_POST['new_name']))

                    aber der Button (submit) existiert da gar nicht!

                    mfg der Litter
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    [URL]http://www.lit-web.de[/URL]

                    Kommentar


                    • #11
                      Ist ja klar das da kein Submit-Button drin ist und auch kein <form action="" method="post"></form>

                      das ist doch im template drin!

                      PHP-Code:
                      <? if ( !defined('INCLUDED') ) { die("Access Denied"); }
                      ?>
                      <table width="100%" border="0" cellpadding="0" cellspacing="0">
                         <tr>
                            <td rowspan="2"><img src="images/i_tables.gif" border="0"></td>
                            <td width="100%"><img src="images/pixel.gif" height="24" width="1"></td>
                            <td>&nbsp;</td>
                         </tr>
                         <tr>
                            <td width="100%" align="right" background="images/bg_part.gif" class="head"><?=$header_section;?>
                               /
                               <?=$subpage_title;?></td>
                            <td><img src="images/end_part.gif"></td>
                         </tr>
                      </table>
                      <br>
                      <?=$linkable_tables_box;?>
                      <?=$msg_changes_saved
                      ;?>
                      <table width="100%" border="0" cellpadding="0" cellspacing="3" class="border">
                         <form action="table_countriesa.php" method="post">
                            <input type="hidden" name="parent_id" value="<?=$parent_id;?>">
                            <tr>
                               <td align="center" class="c3" style="padding: 3px;"><b>
                                  <?=AMSG_EDIT_COUNTRIES;?>
                                  </b></td>
                            </tr>
                            <tr>
                               <td style="padding: 3px;">
                                  <?=AMSG_STATES_NOTE;?>
                                  </td>
                            </tr>
                            <?=$state_header_message;?>
                            <tr valign="top">
                               <td align="center"><table width="100%" border="0" cellpadding="3" cellspacing="3" class="border">
                                     <tr class="c4">
                                        <td width="20">&nbsp;</td>
                                        <td><?=AMSG_COUNTRY_NAME;?></td>
                                        <td width="80" align="center"><?=GMSG_ORDER;?></td>
                                        <td width="80" align="center"><?=AMSG_DELETE;?></td>
                                     </tr>
                                     <?=$countries_page_content;?>
                                  </table></td>
                            </tr>
                            <tr class="c4">
                               <td style="padding: 3px;"><?=($parent_id) ? ADD_STATE AMSG_ADD_COUNTRY;?>
                                  <input name="new_name" type="text" id="new_name" size="60"></td>
                            </tr>
                            <tr>
                               <td align="center" style="padding: 3px;"><input type="submit" name="form_save_settings" value="<?=AMSG_SAVE_CHANGES;?>"></td>
                            </tr>
                         </form>
                      </table>

                      Kommentar


                      • #12
                        Häh?
                        Und wo erfolgt der Datenbankzugriff?
                        Wenn ich hier "Hallo" schreie, fällt in China auch kein Sack Reis um. Also: wo ist dein Skript?
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          Zitat von Manko10 Beitrag anzeigen
                          Wenn ich hier "Hallo" schreie, fällt in China auch kein Sack Reis um.
                          Woher willste das denn wissen? xD

                          Kommentar


                          • #14
                            Ich rufe dann immer da an.
                            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                            Kommentar


                            • #15
                              Naja was ich nicht ganz verstehe warum ein update nach parent_id? eine parent_id ist eigentlich immer ein child,wenn ich nun 10 childs mit der parent_id 5 habe dann läuft da ja schon was schief!

                              Das müsste doch nach id gemacht werden! Man müsste natürlich die DB Struktur bzw. Tabellenaufbau sehen!

                              Ich weis zwar nicht ob ich damit falsch liege aber mal schauen!

                              mfg der Litter
                              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                              [URL]http://www.lit-web.de[/URL]

                              Kommentar

                              Lädt...
                              X