php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 01-09-2003, 11:05
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$records "(".$value.",".$_POST["LfdNr"][$key].",".( !empty($_POST["box"][$key]) ? "1" "0" ).")"
ich gehe mal davon aus, 1 = weg, 0=bleibt.
__________________
Kissolino.com
Mit Zitat antworten
  #17 (permalink)  
Alt 01-09-2003, 12:04
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mal gespannt !

Thanks und bis heute Abend !
Mit Zitat antworten
  #18 (permalink)  
Alt 01-09-2003, 18:58
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es funzt einfach nicht !
Wenn ich z. B. eine CheckBox überspringe, sprich nicht anhacke, sollte die übersprungene CheckBox den Wert "0" übertragen und die darauf folgende CheckBox, die ja angehackt wurde, soll den Wert "1" übertragen.
Wo liegt der Fehler ???

Formular:

// ausführen einer SQL Anfrage
$result3 = mysql_query("SELECT Fonds AS 'Fonds',Konto AS 'Konto',Kürzel AS 'Kürzel',FondsNr AS 'FondsNr',lfd_nr AS 'lfd_nr',status AS 'status' FROM dritt_fonds AS A LEFT OUTER JOIN streichliste AS B ON A.Konto=B.FondsNr WHERE Konto=799121 ORDER BY lfd_nr ASC");
echo '<form action="streichen.php" method="post">';
echo '<table border=1>';
// Ausgabe des Tabellenkopfes
echo '<tr><td ALIGN=center colspan="2"><FONT SIZE=2 FACE=ARIAL><B>'.$kurz.'</B></FONT></td></tr>';
// Ausgabe der Tabellenzeilen

while ($line=mysql_fetch_array($result3))
{
echo '<tr><td>'.$line['lfd_nr'].'</td>
<td>
<INPUT type="hidden" name="Fonds[]" value='.$line['FondsNr'].'>
<INPUT type="hidden" name="LfdNr[]" value='.$line['lfd_nr'].'>
<INPUT type="checkbox" name="box[]" value="1" '.($line['status']==1 ? " checked" : "").'></td></tr>';
}
echo '</table>';
?>
<input type=submit value="streichen"></form>


Formular-Verarbeitung:

foreach ( $_POST["Fonds"] AS $key=>$value )
{
$records = "(".$value.",".$_POST["LfdNr"][$key].",".( !empty($_POST["box"][$key]) ? "1" : "0" ).")";
mysql_query("REPLACE INTO streichliste (FondsNr, lfd_nr, status) VALUES $records") or die(mysql_error());
echo ''.$records.'';
}
Mit Zitat antworten
  #19 (permalink)  
Alt 01-09-2003, 19:19
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gib mal bitte folgendes aus und poste das hier:
PHP-Code:
echo "<pre>";
print_r($_POST['box']);
echo 
"</pre>"
btw: es heisst "haken", eine "hacke" benutzt du im garten
und die php-tags erleichtern das lesen ungemein ^^ da oben der button
wo "php" draufstehen tut.
__________________
Kissolino.com
Mit Zitat antworten
  #20 (permalink)  
Alt 01-09-2003, 19:28
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bitte schön !

PHP-Code:
Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1
)

Array
(
    [
0] => 1
    
[1] => 1
    
[2] => 1

Mit Zitat antworten
  #21 (permalink)  
Alt 01-09-2003, 19:52
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also mit isset ruder ich mal zurück, das sollte passen.

wenn ich dein form ^^ kopiere und das einsetze
PHP-Code:
foreach ( $_POST["Fonds"] AS $key=>$value )
{
echo isset(
$_POST["box"][$key]) ? "1" "0" ;

erhalte ich auch die richtige zusammensetzung von 0 & 1 vorausgesetzt ich klicke nicht wild hin und her.

sobald du 1,3 und 5 wählst stehen die im array "box" unter dem key 0,1,2
=> also aufeinanderfolgend.

du musst dir also bei der formularerstellung einen counter erzeugen nachdem
fond, lfdnr + box eindeutig zuzuordnen sind.

gib mal print_r($_POST) aus (mit unterschiedlich gewählten checkboxen), dann siehst du was ich meine.
__________________
Kissolino.com
Mit Zitat antworten
  #22 (permalink)  
Alt 01-09-2003, 20:23
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich verstehe, was du meinst !

Aber leider bin ich noch nicht so fit - wie kann man denn sowas mit 'm Counter machen ???
Mit Zitat antworten
  #23 (permalink)  
Alt 01-09-2003, 20:27
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$i=0;
while (
$line=mysql_fetch_array($result1)) {
echo 
'<tr><td>'.$line['lfd_nr'].'</td>
<td>
<INPUT type="hidden" name="Fonds[$i][]" value='
.$line['FondsNr'].'>
<INPUT type="hidden" name="LfdNr[$i][]" value='
.$line['lfd_nr'].'>
<INPUT type="checkbox" name="box[$i][]" value="1" '
.($line['status']==" checked" "").'></td></tr>';
$i++;

oder
PHP-Code:
while ($line=mysql_fetch_array($result1)) {
echo 
'<tr><td>'.$line['lfd_nr'].'</td>
<td>
<INPUT type="hidden" name="Fonds[]" value='
.$line['FondsNr'].'>
<INPUT type="hidden" name="LfdNr[]" value='
.$line['lfd_nr'].'>
<INPUT type="checkbox" name="box['
.$line['lfd_nr'].']" value="1" '.($line['status']==" checked" "").'></td></tr>';

vesruchs mal damit und lass dir das gesendete form noch mal mit print_r($_POST) ausgeben ...

EDIT:
sorry, ich hab grad das essen auf dem herd ... bin also hin- und hergerissen
__________________
Kissolino.com

Geändert von Wurzel (01-09-2003 um 20:37 Uhr)
Mit Zitat antworten
  #24 (permalink)  
Alt 01-09-2003, 20:48
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Geht nicht !

http://www.rok.formativ.net/form1.php
Mit Zitat antworten
  #25 (permalink)  
Alt 01-09-2003, 20:49
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

wenn du schon mit replace arbeiten willst und nicht mit insert/update, dann replace doch einfach immer alles auf 0 und mach danach das replace das du hattest
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #26 (permalink)  
Alt 01-09-2003, 21:07
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Wurzel: Nee, 2. Variante geht auch nicht, bringt nur Unsinn ! Sieh selbst !

http://www.rok.formativ.net/form1.php


@mrhappiness: Ich kann mir nicht vorstellen, wie das funzen soll !
Mit Zitat antworten
  #27 (permalink)  
Alt 01-09-2003, 21:16
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du hast doch nun alles, was du brauchst:
lfdnr[0] => 155 .... box[155] => 1
demzufolge box[lfdnr[0]] => 1

was mich irritiert, ist die tatsache, dass der ganze kram x-mal kommt
__________________
Kissolino.com
Mit Zitat antworten
  #28 (permalink)  
Alt 01-09-2003, 21:34
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
du hast doch nun alles, was du brauchst:
Nicht ganz: Wenn ich z. B. noch die 159 anhake, bekomme ich folgendes Ergebnis:


[155] => 1
[156] => 1
[157] => 1
[159] => 1

Das ist ja soweit auch richtig. Aber müsste denn nicht auch noch die 158 mit dem Wert "0" übertragen werden ? Also:


[155] => 1
[156] => 1
[157] => 1
[158] => 0
[159] => 1
Mit Zitat antworten
  #29 (permalink)  
Alt 01-09-2003, 21:41
blackhole
 Junior Member
Links : Onlinestatus : blackhole ist offline
Registriert seit: Feb 2003
Ort: Bonn
Beiträge: 52
blackhole ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, wenn eine Checkbox nicht angeklickt wurde, dann wird ist $_POST['name_der_checkbox'] gar nicht erst vorhanden, und nicht 0.
Mit Zitat antworten
  #30 (permalink)  
Alt 03-09-2003, 02:00
Honny
 Junior Member
Links : Onlinestatus : Honny ist offline
Registriert seit: Mar 2002
Beiträge: 174
Honny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also, ich hab' jetzt mal meine "Formular-Verarbeitung" stark vereinfacht:

PHP-Code:
foreach ($_POST['Fonds'] AS $k => $v

echo 
''.$v.'/'
echo 
''.$_POST["LfdNr"][$k].'/'
echo 
''.$_POST["box"][$k].'<br>'


Wenn ich jetzt die CB-Nr. 15,16 und 17 anhake, bekomme ich folgendes Ergebnis:
799121/15/1
799121/16/1
799121/17/1
799121/18/
799121/19/

Das ist ja bis hierhin auch vollkommen richtig !


Wenn ich jetzt die CB-Nr. 15,16 und 18 anhake, bekomme ich leider dasselbe Ergebnis:
799121/15/1
799121/16/1
799121/17/1
799121/18/
799121/19/

Wie Ihr seht, wird die "1", die für die CB-Nr. 18 bestimmt ist, fälschlicherweise der CB-Nr. 17 im Array zugeordnet.

Ich bin am Verzweifeln !
Weiß denn niemand, wie ich dieses Problem beheben kann ???

Hier noch mal zum Ausprobieren: http://www.rok.formativ.net/form1.php

Der Code des Formulars sieht so aus:
PHP-Code:
while ($line=mysql_fetch_array($result3)) {
echo 
'<tr><td>'.$line['lfd_nr'].'</td>
<td>
<INPUT type="hidden" name="Fonds[]" value='
.$line['FondsNr'].'>
<INPUT type="hidden" name="LfdNr[]" value='
.$line['lfd_nr'].'>
<INPUT type="checkbox" name="box[]" value="1" '
.($line['status']==" checked" "").'></td></tr>';
}
echo 
'</table>';
?>
<input type=submit value="streichen"></form> 
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

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