Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 13.03.2006, 11:06   Nach oben    #1
Neuer Benutzer
 
Registriert seit: 13.03.2006
Beiträge: 7
Standard Mit Checkbox bestimmten Wert Ändern

Hallo zusammen.

Nach vielem Googeln und suchen in Foren habe ich leider kein Ergebniss gefunden, was mir weiter hilft. Das ist mein erster Post hier.
Ich komme gleich zu Sache:

Was ich möchte:

1) Ich habe X Daten in einer Tabelle und lasse Sie mir in einem Table anzeigen die einen Wert "inuse" = 0 haben. Funktiniert ...

2) Jedes "Zeile" bzw. Datensatz bekommt ein Checkbox. Wenn dieser gesetzt ist soll der Wert inuse = 1 bekommen.
Per MySQL Update (Fomrular - Submit) sollen bei allen die ausgewählt sind der Wert geändert werden.

Klingt simple, sollte es auch sein, aber es mag nicht


Mein Code:

Das ganze ist in einem Formaular aufgebaut.

1) Das Auslesen/Anzeigen meiner Daten

PHP-Code:
$muh=$db->sql("SELECT * FROM tablename WHERE inuse = $use");

while (
$row mysql_fetch_array($muhMYSQL_NUM)) {
    print (
"<tr bgcolor='#F6F6F6' height='30px' onMouseover='rowCol(1,this)' onMouseout='rowCol(0,this)'>
    <td width='5px'><input type='checkbox' name='$row[0]' value='$bearb'></td>
    <td><b>$row[1]</b></td><td>$row[2]</td><td>$row[3]</td><td align='center'>$row[4]</td><td>$row[5]</td><td>$row[8]</td><td align='center'>$row[12]</td></tr>"
); 
2) Das genze ist in dieser Form:

PHP-Code:
<form name="overfew" action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
3) Mein Update Code:

PHP-Code:
<?
$bearb = $HTTP_POST_VARS["bearb"];

if($_POST)
  {
  mysql_connect("$dbhost","$dbuser","");
  mysql_select_db("$dbname");
  
  $eintrag = "UPDATE tablename SET inuse = 1 WHERE $bearb = 1";
  $eintragen = mysql_query($eintrag);
  }
?>
Das ganze schicke ich mit einem submit ab.

Wäre super, wenn mir jemand in syntaktischer Hinsicht helfen könnte.

Vielen vielen Dank schon mal!

Ach ja, wie gesagt ist mein erster Post in einem Forum.
Deshalb ... Falls ich irgend welche Quotierungen falsch mache, verzeiht mir.
Chriscom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 11:10   Nach oben    #2
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

Herzlich willkommen und keine Sorge du gehörst zu denen die die Tags beim Posten richtig nutzen

Ist rein programmiertechnisch verwandt mit dem Tutorial und der dazugehörigen Diskussion
Wenn du das durchgearbeitet hast, solltest du dein Problem selbst lösen können.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 11:32   Nach oben    #3
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

Dazu noch ein paar kleine Bemerkungen:
Zur eindeutigen Identifizierung von Tabelleneinträgen sollte immer eine ID als Primärschlüssel verwendet werden. Somit könntest du deine Checkboxen nicht namentlich im Sinne einer Zeichenkette sondern anhand dieser ID (Nummer) identifizieren und dann beim auswerten leichter abarbeiten.
so etwa:
PHP-Code:
<?
$sql = "SELECT ID, Name, Inuse FROM tblTabelle WHERE InUse = 0;";
$result = mysql_query($sql);
while ($ergebnis = mysql_fetch_array($result)) {
    echo '<input type="checkbox" name="cb_id['.$ergebnis['Name'].']" value="'.$ergebnis['ID'].'">';
}
?>
Deine Auswertung würde dann so aussehen:
PHP-Code:
<?php
if(isset($_POST['submitbuttonname'])) {
    foreach (
$cb_id as $id) {
        
$sql "UPDATE tblTabelle SET InUse = 1 WHERE ID = ".$id.";";
        
mysql_query($sql);
    }
}
?>
(ungeprüft, sollte aber gehen)
__________________
I did it my way - Senseless-Blog

Geändert von WarrenFaith (13.03.2006 um 15:23 Uhr).
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 15:19   Nach oben    #4
Erfahrener Benutzer
 
Registriert seit: 19.08.2005
Beiträge: 115
Standard

nur das mysql_query nicht vergessen
__________________
Programming today is a race between software engineers striving to build bigger and better
idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the
universe is winning.
Buhmann ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 15:23   Nach oben    #5
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard

ah genau stimmt! danke
*hinzugefügt*
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 18:14   Nach oben    #6
Benutzer
 
Registriert seit: 27.02.2006
Beiträge: 38
Standard

PHP-Code:
mysql_select_db("$dbname"); 
Warum stellst du Variablen in doppelte Anführungszeichen? Das ist überflüssig.
Eventuell könntest du auch mit Konstanten Arbeiten:

PHP-Code:
define('DBNAME''name der db'); 
Zugriff dann via DBNAME
freezer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 18:21   Nach oben    #7
Neuer Benutzer
 
Registriert seit: 13.03.2006
Beiträge: 7
Standard Erstmal Danke schön

Erst einmal. Vielen Dank für eue schnellen Antworten.
Bin wirklich überrascht

Danke.
Habe eure Lösungen gleich ausprobiert

Das mag er nicht:
PHP-Code:
if(isset($_POST['senden'])) {
    foreach (
$cb_id as $id) {
    
$sql "UPDATE tblnameSET inuse = 1 WHERE id = ".$id.";";
    }

Werde aber noch herumprobieren.

Kann ich dieses SQL Statment mit einem Obejkt auflösen? z.B.

PHP-Code:
$muh=$db->$sql "UPDATE incomephone SET inuse = 1 WHERE id = ".$id.";"
Wenn was ist schreie ich wieder

... und nachmal danke!
Chriscom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 18:38   Nach oben    #8
Neuer Benutzer
 
Registriert seit: 13.03.2006
Beiträge: 7
Standard Nach Submit ...

Warning: Invalid argument supplied for foreach()

PHP-Code:
<?php
if(isset($_POST['senden'])) {
    foreach (
$cb_id as $id) {
        
$sql "UPDATE incomephone SET inuse = 1 WHERE ID = ".$id.";";
        
mysql_query($sql);
    }
}
?>
hmz hmz hmz ...

An dieser Stelle murrt er. Was habe ich hier flasch gemcht?
Chriscom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 18:40   Nach oben    #9
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Existiert $db_id und ist es ein Array? Probier auch mal $_POST['cb_id'].
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 19:25   Nach oben    #10
Neuer Benutzer
 
Registriert seit: 13.03.2006
Beiträge: 7
Standard läuft ...

Vielen vielen Dank für die Posts.
Alles funktioniert bestens.
An der foreach Schleife musste noch folgende Zeile eingegeben werden:

PHP-Code:
foreach ($db_id as $id
Komplett:

PHP-Code:
<?php
if(isset($_POST['senden'])) {
    
$db_id $_POST['$db_id'];
    foreach (
$db_id as $id) {
        
$sql "UPDATE tblnameSET inuse = 1 WHERE id = ".$id.";";
        
mysql_query($sql);
    }
}
?>
Mercy ....
Chriscom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.03.2006, 20:10   Nach oben    #11
Benutzer
 
Registriert seit: 27.02.2006
Beiträge: 38
Standard

PHP-Code:
$db_id $_POST['$db_id']; 
Ich frage mich wie das laufen soll? Du hast eine Variable in single quotes, die dürft normalerweise garnicht interpretiert werden..
freezer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.03.2006, 08:13   Nach oben    #12
Neuer Benutzer
 
Registriert seit: 13.03.2006
Beiträge: 7
Standard single quotes

Fuktioniert aber einwandfrei.

Hat bis jetzt keinerlei Fehlfunktionen hervorgerufen.
Aber, wenn du der Ansicht bist, dass " syntaktisch Richtig sind, kann ich die ja einmal ersetzen.
Chriscom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.03.2006, 08:36   Nach oben    #13
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Nun, Du willst doch den Arrayschlüssel dynamisch in einer Variable haben, oder?
Dann nutze doch auch die Variable für den Zugriff.
PHP-Code:
$array[$key
Ein Arrayschlüssel muss ja kein String sein.

Das hier
PHP-Code:
$array['$key'
sucht den Schlüssel
Code:
$key
im Array und nicht den Wert der Variablen $key, weil Variablen innerhalb von Hochkommata nicht interpretiert werden.

Sollte das bei Dir anders sein bin ich baff.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

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 An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array key eines bestimmten Wertes zurückgeben Ben PHP-Programmierung 9 25.06.2007 15:16
Schlüssel in verschachteltem Array suchen und Wert zurückgeben Ben PHP-Programmierung 8 19.10.2006 18:54
Wert Varible in Listener anderer Klasse nutzen??? risa Desktop-Applikationen und Grafik 1 03.04.2006 07:36
Modifier haben einen Wert, obwohl keine gedrückt sind materthron Desktop-Applikationen und Grafik 3 06.11.2005 16:28
[PHP] Kontrollstrukturen in PHP Jann Hendrik Tutorials 7 09.12.2004 21:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:06 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44