php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2006, 10:00  
Gast
 
Beiträge: n/a
Standard Probleme beim speichern in DB

Hi,

bei meinem Forum, hat der Admin die möglichkeit
die Foren die er erstellt hat zu sortieren.
Er gibt einfach in die inputs zahlen ein wie er sie sortieren will.
Dann beim klick auf speichern passiert folgendes:

PHP-Code:
if(isset($_GET["save"]))
{
  for (
$i 0$i count($_POST["sort"]); $i++) {

            
$sql "UPDATE
                board
                SET
                sort = '"
.$_POST["sort"][$i]."'
            WHERE
                id = '"
.$_POST["id"][$i]."'";
    
mysql_query($sql) OR die(mysql_error());
}
echo
'<script type="text/javascript">
window.location.replace("board.php?action=board_build");
</script>'
;

Das Problem ist nur, er speichert nur einen Eintrag in der DB.
Ich wei� aber nicht woran es liegen kann.

Hier ist der Bereich wo er die Zahlen eingeben kann:

PHP-Code:
$j=0;

$sql "SELECT id, name, sort FROM board ORDER BY sort";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql);
while (
$board mysql_fetch_array($result)) {
    
$board_id[] = $board["id"];
    
$board_sort[] = $board["sort"];
    
$board_name[] = $board["name"];
}
if(isset(
$board_id))
{

for (
$i 0$i count($board_id); $i++) {



   if(
$j%2==0){$bgcolor="#acacac";}
          else{
$bgcolor="#cecece";}
          
  echo
'
<form action="board.php?action=board_build&save=yes" method="post">
    <tr>
      <td bgcolor="'
.$bgcolor.'" >'.$board_name[$i].'</td>
      <td bgcolor="'
.$bgcolor.'" >
      <center><input type="text" name="sort" class="register" size="3" value="'
.$board_sort[$i].'">
      <input type="hidden" name="id" value="'
.$board_id[$i].'"></center></td>
    <td bgcolor="'
.$bgcolor.'"  width="15%"><center><a href="board.php?action=board_build&delet_board='.$board_id[$i].'">
[img]images/icon/delet.ico[/img]</a></center>
</td>
    '
;

  
$j++;
}
}
echo
'
        </tr>
<td colspan="4"><center><input type="submit" class="next" value="Speichern"></center></td>
</form>
    </table>
</center>


'

Könnt ihr mir vielleicht sagen, warum er nur einen EIntrag speichert?

Danke
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.02.2006, 10:05  
Gast
 
Beiträge: n/a
Standard

Kann ich.

Du hast zig mal das Feld "sort" im Formular.

Das heißt, du überschreibst es permanent mit sich selbst.

Mach mal name="sort_{$i}" draus

und beim Checken holst Du mit $_POST['sort_'.$i] die Werte.

Is nich die geilste Lösung, aber ich bin grad in Eile.

für die anderen Feldnamen gilt das Gleiche - also erst mal die queries ausgeben lassen, OHNE zu schrieben, sonst ist deine DB mit lauter identischen Datensätzen gefüllt.
 
Alt 15.02.2006, 13:51  
Gast
 
Beiträge: n/a
Standard

Hi,

also ich habe es mal versucht wie du gesagt hast:

PHP-Code:
if(isset($_GET["save"]))
{
  for (
$i 0$i count($_POST["id"]); $i++) {

            
$sql "UPDATE
                board
                SET
                sort = '"
.$_POST["sort_'".$i."'"][$i]."'
            WHERE
                id = '"
.$_POST["id"][$i]."'";
    
mysql_query($sql) OR die(mysql_error());
}
echo
'<script type="text/javascript">
window.location.replace("board.php?action=board_build");
</script>'
;

PHP-Code:
$j=0;

$sql "SELECT id, name, sort FROM board ORDER BY sort";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql);
while (
$board mysql_fetch_array($result)) {
    
$board_id[] = $board["id"];
    
$board_sort[] = $board["sort"];
    
$board_name[] = $board["name"];
}
if(isset(
$board_id))
{

for (
$i 0$i count($board_id); $i++) {



   if(
$j%2==0){$bgcolor="#acacac";}
          else{
$bgcolor="#cecece";}
          
  echo
'
<form action="board.php?action=board_build&save=yes" method="post">
    <tr>
      <td bgcolor="'
.$bgcolor.'" >'.$board_name[$i].'</td>
      <td bgcolor="'
.$bgcolor.'" >
      <center><input type="text" name="sort_'
.$i.'" class="register" size="3" value="'.$board_sort[$i].'">
      <input type="hidden" name="id" value="'
.$board_id[$i].'"></center></td>
    <td bgcolor="'
.$bgcolor.'"  width="15%"><center><a href="board.php?action=board_build&delet_board
='
.$board_id[$i].'">[img]images/icon/delet.ico[/img]</a></center>
</td>
    '
;

  
$j++;
}

Und ich bekomme folgende Meldung:

Notice: Undefined index: sort_'0' in E:\xampp\xampp\htdocs\Dankstelle\forum\function\bu ild\board_build.php on line 107

Zeile 107:

PHP-Code:
sort '".$_POST["sort_'".$i."'"][$i]."' 
Was habe ich jetzt wieder falsch gemacht?
 
Alt 15.02.2006, 13:55  
Gast
 
Beiträge: n/a
Standard

sort_'0'

Kommt dir das wirklich nicht merkwürdig vor?

Gruß
phpfan
 
Alt 15.02.2006, 14:16  
Gast
 
Beiträge: n/a
Standard

Ja alles klar danke
 
Alt 23.02.2006, 08:44  
Gast
 
Beiträge: n/a
Standard

Hi,

Ich habe immer noch ein kleines Problem mit der Sortierung
in meinem Forum.
Also ich bekomme zwar keine Fehlermeldung mehr aber bei mir passiert folgendes:

News = 2
Bugs = 1

Jetzt speichert er in der DB:

News =
Bugs = 2

Ich kann mir nicht erklären woran das liegen kann.
Hier ist der Code, wo ich die Foren aus der DB hohle und sie ersteinmal
aufliste:

PHP-Code:
$sql "SELECT id, name, sort FROM board ORDER BY sort";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql);
while (
$board mysql_fetch_array($result)) {
    
$board_id[] = $board["id"];
    
$board_sort[] = $board["sort"];
    
$board_name[] = $board["name"];

Hier ist der Code, wo er die Zahlen eingibt, wie er es sortiert haben will

PHP-Code:
<td bgcolor="'.$bgcolor.'" >
<
center><input type="text" name="sort_'.$i.'" class="register" size="3" value="'.$board_sort[$i].'">
<
input type="hidden" name="id" value="'.$board_id[$i].'"></center></td
Naja, und hier der Code, wo er es in der DB speichert:

PHP-Code:
  for ($i 0$i count($_POST["id"]); $i++) {

            
$sql "UPDATE
                board
                SET
                sort = '"
.$_POST["sort_".$i.""][$i]."'
            WHERE
                id = '"
.$_POST["id"][$i]."'";
    
mysql_query($sql) OR die(mysql_error()); 
Vielleicht könnt ihr mir sagen, was ich wie verändern, drehen oder korregieren muss,
damit es wirklich klappt.

Ich bin euch sehr dankbar.
 
Alt 23.02.2006, 11:02  
Gast
 
Beiträge: n/a
Standard

Ich könnte echt mal eure Hilf gebrauchen
 
Alt 23.02.2006, 11:05  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

dann lerne mal als erstes deine Posts zu editieren

und phpfan hat dir doch was gesagt...
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 23.02.2006, 13:09  
Gast
 
Beiträge: n/a
Standard

Was phpfan mir gesagt habe, habe ich beachtet.
Ich bekomme ja keine Fehlermeldung mehr...
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Audio-Recorder / Zugriff auf Mikrofon -> speichern agrajag JavaScript, Ajax und mehr 4 27.07.2008 17:19
PDF per PHP - Problem bei "Ziel speichern unter..." freq.9 PHP Tipps 2006 7 18.08.2006 16:54
bild speichern PHP Tipps 2006 1 10.06.2006 13:42
Probleme beim speichern in der DB PHP Tipps 2006 3 23.02.2006 10:00
[Erledigt] Speichern unter... geht nicht!!! PHP-Fortgeschrittene 8 09.02.2006 16:55
Wie am besten Guthaben speichern? BartTheDevil89 PHP Tipps 2005-2 3 30.09.2005 15:22
Problem - Japanische Texte speichern Patrick PHP Tipps 2005-2 19 15.08.2005 21:07
Bild (.jpg) mit Link auf Festplatte speichern PsychoEagle PHP Tipps 2005-2 11 16.06.2005 14:54
Bilder speichern statt anzeigen... PHP Tipps 2005 3 25.04.2005 15:22
XML speichern McWolle PHP-Fortgeschrittene 5 04.04.2005 19:38
[Erledigt] Emails speichern Datenbanken 1 08.02.2005 20:06
Probleme beim speichern in die Datenbank Jojo1 PHP Tipps 2005 14 03.02.2005 14:50
Mail inkl. all. Elementen speichern Beitragsarchiv 5 29.12.2004 13:21
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.