SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 21.03.2012, 23:48:12
syntax syntax ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 40
Beiträge: 46
AW: Checkbox in BD-Tabelle schreiben

Vielen Dank erstmal für die Geduld und die Hilfe.
@Urvater deinen Tipp mit dem value="'.$datensatz['id'].'" habe ich zwar gelesen habe das aber irgendwie falsch verstanden, deshalb auch irgendwie ignoriert.

Ich bin jetzt soweit das er die Werte der Checkbox in den jeweiligen Datensatz schreibt.
Allerdings habe ich das Problem wenn ich einen Datensatz nicht auswähle, schreibt er keine 0.

Habe das jetzt mit Echo überprüft und er gibt mit bei nicht ausgewählter Checkbox die ID's nicht aus.

Brauche mal wieder einen Brotkrümmel um den richtigen Weg zu finden.

Wenn Ihr noch andere Fehler findet bin ich für jeden Hinweis wie immer sehr Dankbar :)

PHP-Code:
<html>
<head>
<title>test</title>
</head>
<body>
<?php
include("../php/connect.php");

 
$sql "SELECT id, auto FROM fahrzeug";

 
$abfrageergebnis mysql_query$sql ) or trigger_error(mysql_error(),E_USER_ERROR);

      if (isset(
$_REQUEST['checkbtn'])) {
  foreach (
$_REQUEST['checkbtn'] as $value){
  echo 
"1:$value";
  
//mysql_query ("UPDATE fahrzeug SET status='1' WHERE id='$value'") OR die(mysql_error());
  
}
  }else {
  echo 
"0:$value";
  
//mysql_query ("UPDATE fahrzeug SET status='0' WHERE id='$value'") OR die(mysql_error());
  
}
  
?>
    <form action="<? echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
    <table>
    <?PHP
    
while ($datensatz mysql_fetch_array$abfrageergebnis ))
    {
    echo 
'<tr>';
    echo 
'<td style="width:155px">' $datensatz['auto'] . '</td>';
    echo 
'<td style="width:15px"><input name="checkbtn[]" type="checkbox" value="'.$datensatz['id'].'"></td>';
    echo 
'<tr>';
    }
    
?>
    <td style="width:15px"><input type="submit" value="Senden" name="submit"></td>
    </table>
    </form>
    </body>
</html>
Mit Zitat antworten
  #22  
Alt 22.03.2012, 09:23:32
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.680
AW: Checkbox in BD-Tabelle schreiben

Solange dies hier
PHP-Code:
$_SERVER["PHP_SELF"
noch im Code ist/bleibt, gibt es von meiner Seite keine Unterstützung (mehr).
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #23  
Alt 22.03.2012, 09:31:16
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 52
Beiträge: 1.044
AW: Checkbox in BD-Tabelle schreiben

Versuch mal dieses Testskript.
Das könnte man als eine der möglichen Lösungen nutzen.
PHP-Code:
<html>
<head>
<title>test</title>
</head>
<body>
<?php


 $sql 
"SELECT id, auto FROM fahrzeug";


  if (isset(
$_REQUEST['checkbtn'])) {
      echo 
'<pre>';
      
print_r($_REQUEST);
      echo 
'</pre>';
  }
  
?>
    <form action="<? echo $_SERVER['SCRIPT_NAME'].'?id=123';?>" method="post">
    <table>
        <tr>
            <td style="width:155px">Fahrzeug</td>
            <td>reservieren:<input type="checkbox" name="checkbtn" value="1"> frei:<input type="checkbox" name="checkbtn" value="0">
        <tr>
            <td style="width:15px"><input type="submit" value="Senden" name="submit"></td>
        <tr>
    </table>
    </form>
    </body>
</html>
Mit Zitat antworten
  #24  
Alt 22.03.2012, 13:46:11
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 72
Beiträge: 4.001
AW: Checkbox in BD-Tabelle schreiben

Zitat:
Zitat von syntax Beitrag anzeigen
Habe das jetzt mit Echo überprüft und er gibt mit bei nicht ausgewählter Checkbox die ID's nicht aus.
Jo. PHP und MySQL sind so gemein und machen genau das, was Du getippert hast.

Zitat:
Wenn Ihr noch andere Fehler findet bin ich für jeden Hinweis wie immer sehr Dankbar :)
Halte Dich einfach mal an EVA:
Eingabe
Verarbeitung
Ausgabe


Es ist sinnfrei, das SELECT vor dem UPDATE zu erledigen.

Zitat:
PHP-Code:
$_SERVER["PHP_SELF"
PHP_SELF ist böse! Potentielles Cross Site Scripting (XSS)!

Aber das:
Zitat:
PHP-Code:
<? echo htmlspecialchars($_SERVER["PHP_SELF"]);?>
ist Blödsinn. Im Scriptnamen gibt es (normalerweise) keine Specialchars.

Verwende das:
PHP-Code:
$_SERVER["SCRIPT_NAME"
Mit Zitat antworten
  #25  
Alt 24.03.2012, 21:46:40
syntax syntax ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 40
Beiträge: 46
AW: Checkbox in BD-Tabelle schreiben

Hallo Leute habs jetzt soweit erstmal hinbekommen,
da es mit einer Checkbox nicht ging, hab ich einfach eine zweite genommen die mir den Status als 0 setzt.

Mein letztes anliegen zu diesem Thema ist, das ich, wenn der jeweilige Wert bei Status steht die Checkbox einen Haken hat.

Mein Problem ist, das ich mit den Klammern setzen in der If-Anweidung nicht richtig klar komme.

Habe jede Variante die ich im Netz gefunden habe durchprobiert, allerdings kommen immer wieder neue Fehler .

Über Hilfe bzw. einen Tipp in die richtige Richtung wäre ich wie immer Dankbar.

Danke und schönes WE.

PHP-Code:
<html>
<head>
<title>test</title>
</head>
<body>
<?php
include("../php/connect.php");

 
$sql "SELECT id, auto, status FROM fahrzeug";

 
$abfrageergebnis mysql_query$sql ) or trigger_error(mysql_error(),E_USER_ERROR);


      if (isset(
$_REQUEST['checkbtn'])) {
  foreach (
$_REQUEST['checkbtn'] as $value){
  
mysql_query ("UPDATE fahrzeug SET status='1' WHERE id='$value'") OR die(mysql_error());
  }
  }

   if (isset(
$_REQUEST['uncheckbtn'])) {
  foreach (
$_REQUEST['uncheckbtn'] as $value){
  
mysql_query ("UPDATE fahrzeug SET status='0' WHERE id='$value'") OR die(mysql_error());
  }
  }

  
$checked $result['status'];

  
?>

    <form action="<? $_SERVER["SCRIPT_NAME"]  ?>" method="post">
    <table>
    <?PHP
    
while ($datensatz mysql_fetch_array$abfrageergebnis ))
    {
    echo 
'<tr>';
    echo 
'<td style="width:155px">' $datensatz['auto'] . '</td>';
    echo 
'<td style="width:15px"><input name="checkbtn[]" type="checkbox" value="'.$datensatz['id'].'"  ' . if ($checked == 1) echo 'checked'; .' ></td>';
   echo 
'<td style="width:15px"><input name="uncheckbtn[]" type="checkbox" value="'.$datensatz['id'].'" 'if ($checked == 0) echo 'checked''></td>';
    echo 
'<tr>';
    }
    
?>
    <td style="width:15px"><input type="submit" value="Senden" name="submit"></td>
    </table>
    </form>
    </body>
</html>

Geändert von syntax (24.03.2012 um 21:57:32 Uhr)
Mit Zitat antworten
  #26  
Alt 24.03.2012, 22:41:02
SuNflOw1991 SuNflOw1991 ist offline
Anfänger
 
Registriert seit: Mar 2012
Ort: Düren
Alter: 29
Beiträge: 5
AW: Checkbox in BD-Tabelle schreiben

Versuche es doch mal so:

PHP-Code:
<html>
   <head>
        <title>test</title>
    </head>
    <body>
        <?php
        
// incudieren der MySQL Verbindung (denke ich mal)
        
include("../php/connect.php");

        
// Abfrage wennn der User Form abschickt:
        
if(isset($_POST['submit'])) {
            foreach(
$_POST['checkbox'] as $key => $val) {
                
// ID für die Abfrage gesichert nach: http://www.selfphp.de/forum/showpost.php?p=75460&postcount=5
                
$id     = isset($_POST['id'][$key]) ? $_POST['id'][$key]+0;
                
// $val ist dann der Wert ob makiert oder nicht makiert
                
$status = isset($val) && $val != "" && $val <= $val+0;
                
// Nur eintragen wenn die ID größer 0 ist.
                
if ($id 0) {
                    
// MySQL Query:
                    
mysql_query ("UPDATE fahrzeug SET status='".$status."' WHERE id='".$id."'") OR die(mysql_error());
                }
            }
        }

        
// Form erstellen:
        
echo "<form action='".$_SERVER['SCRIPT_NAME']."' method='post'>";
            
// Tabelle:
            
echo "<table border='0' cellpadding='0' cellspacing='0'>";
            
// Datenbank Abfrage
            
$sql    "SELECT id, auto, status FROM fahrzeug";
            
$result mysql_query$sql ) or trigger_error(mysql_error(),E_USER_ERROR);
            
// Schleife
            
while ($data mysql_fetch_array($result)) {
                echo 
"<tr>";
                    
// Auto
                    
echo "<td style='width: 155px;'>".$data['auto']."</td>";
                    
// CheckBox
                    
echo "<td style='width: 15px;'><input type='checkbox' name='checkbox[]'".($data['status'] == " checked='checked'" "")." /></td>";
                    
// ID aber versteckt
                    
echo "<input type='hidden' name='id[]' value='".$data['id']."' />";
                echo 
"</tr>"// Zeile Ende
            
}
            
// Button
            
echo "<tr><td colspan='2' align='center'><input type='submit' value='Absenden' name='submit' /></td></tr>";
            echo 
"</table>"// Ende Tabelle
        
echo "</form>"// Ende Form
        
?>
    </body>
</html>
Mit Zitat antworten
  #27  
Alt 25.03.2012, 12:27:25
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 52
Beiträge: 1.044
AW: Checkbox in BD-Tabelle schreiben

Dein SELECT muss entsprechend erweitert werden, damit du den vorhandenen Status aus der DB-Tabelle bekommst. Damit kanst du dann auf "checked" prüfen.
PHP-Code:
<?php
$sql 
"SELECT id, auto, status FROM fahrzeug";
$abfrageergebnis mysql_query$sql ) or trigger_error(mysql_error(),E_USER_ERROR);
?>

<form action="<?php echo $_SERVER["SCRIPT_NAME"]  ?>" method="post">
    <table>
<?PHP
    
while ($datensatz mysql_fetch_array$abfrageergebnis ))
    {
        if (
$datensatz['status'] == 1) { $checked_1 ='checked';}
        if (
$datensatz['status'] == 0) { $checked_2 'checked';}
    echo 
'<tr>';
    echo 
'<td style="width:155px">' $datensatz['auto'] . '</td>';
    echo 
'<td style="width:15px"><input name="checkbtn[]" type="checkbox" value="'.$datensatz['id'].'" ' $checked_1 .' ></td>';
   echo 
'<td style="width:15px"><input name="uncheckbtn[]" type="checkbox" value="'.$datensatz['id'].'" '.$checked_2'></td>';
    echo 
'<tr>';
    }
?>
    <td style="width:15px"><input type="submit" value="Senden" name="submit"></td>
    </table>
    </form>

Geändert von urvater (25.03.2012 um 12:46:19 Uhr)
Mit Zitat antworten
  #28  
Alt 25.03.2012, 14:07:03
syntax syntax ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 40
Beiträge: 46
AW: Checkbox in BD-Tabelle schreiben

Ja genau das ist es was ich gesucht habe, vielen Danke Urvater.

Ich hatte das so ähnlich am Anfang aber ich habe es in den oberen PHP Code eingefügt und nicht ins <FORM> Element. Und da hat er mir immer gesagt das die Werte nicht definiert seien, dachte ich das liegt wieder an meinem Code deshalb hab ich versucht das anders zu lösen. Bin aber forh das ich nahe dran war :)

Wenn ich jetzt zwischen meinen 2 Checkboxen switchen will, soll heißen wenn ich auf "checkbtn" klicke soll der "uncheckbtn" inaktiv werden!
Löse ich das am besten auch mit PHP als Schleife oder lieber mit JavaScript?

PS.: Wenn eine von beiden Checkboxen aktiv ist bring er mir bei der anderen das der Wert nicht definiert sei, habe diese Fehlermeldung mit einem @ vor der Varialbe in meiner Checkbox gelöst, ich hoffe das dasss so OK ist oder habe ich damit eine Sicherheitslücke bzw. einen Fehler in meinem Script?

PHP-Code:
    echo '<td style="width:15px"><input name="checkbtn[]" type="checkbox" value="'.$datensatz['id'].'" ' . @$checked_1 .' ></td>'
Danke
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Checkbox in Tabelle anzeigen!? Daktari HTML, CSS und JavaScript Help! 2 24.02.2012 13:03:15
Feld hinzufügen, in Mysql Tabelle, Tabelle hat aktive Daten juerle PHP Grundlagen 2 19.03.2010 17:54:46
Daten nach Spalteninhalte aus anderer Tabelle sortieren paedda MySQL/MySQLi 2 14.05.2009 15:46:15
Tabelle verliert Datensätze ?! TuxCommander MySQL/MySQLi 5 26.05.2008 17:11:03
Problem MySql Tabelle Checkbox phisa MySQL/MySQLi 5 20.07.2006 19:34:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:37:42 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.


© 2001-2020 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt