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 Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 19-09-2013, 09:03
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Post Bearbeitungs bzw. Löschen Button

Guten Morgen php Community,

zu aller erst würde ich gerne sagen das ich sowohl in php als auch in diesem Forum "neu" bin und daher mein Code ein riesiges Chaos ist & mein Fachwissen relativ begrenzt.

Zu meinem Problem:
Ich habe mittels eines Php Formulars Daten an eine Postgresql Datenbank geschickt, welche in einer separaten php in Tabellenform ausgegeben werden. Soweit so gut. Nun habe ich in jeder Zeile einen Bearbeitungs und Löschen Button eingebaut, zuerst mal der Löschen Button. Ich hole mir die Daten aus meiner Datenbank mit pg_fetch_array speichere diese in einer Variablen namens $line und spreche die einzelnen IDs jeweils mit $line[id] an.Jede Tabellenspalte hat bereits ein hiddenfield mit der value=\"$line[id]\" & mittels meiner "löschenfunktion"
PHP-Code:
$weg "DELETE FROM meine_tabelle WHERE id = $_POST[id]";
        
var_dump($weg);
        
$result pg_query($weg);
        if (
$_POST['loeschen'])
        {
            
$result;    
        }
        
        echo 
"</form>\n"
würde ich gerne die Zeile rauslöschen, in der sich der Button befindet. Jedoch löscht jeder Button immer nur die letze Tabellenreihe, und das auch nur nach erneutem Doppelklick.. Hoffe ich habe mein Problem relativ verständlich ausgedrückt..

MfG Me7z
Mit Zitat antworten
  #2 (permalink)  
Alt 19-09-2013, 09:14
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ein Formular und dutzende gleichnamige hidden fields?
Und PHP sucht sich dann aus welches du meinen könntest
Nee, es nimmt das letzte!


Warum gibts du nicht dem Del-Button die ID mit?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 19-09-2013, 09:18
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

die hidden fields haben ja alle jeweils unterschiedliche "namen", nämlich die id der jeweiligen reihe... darauf habe ich schon geachtet. Es funktioniert !! Du bist mein Retter in der Not. Vielen Dank schonmal an dieser Stelle.

Geändert von Me7z (19-09-2013 um 09:20 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 19-09-2013, 09:33
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

ha das Problem war zwar aufs erste weg, jedoch heißen ja jetzt alle meine Löschen Buttons genau so wie die ID der Reihe und das war ja nicht beabsichtigt.. Die Buttons haben jetzt zwar die line id jedoch die value=löschen, welche von $_POST ja nicht ansprechbar sind oder ?...
Mit Zitat antworten
  #5 (permalink)  
Alt 19-09-2013, 10:10
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

HTML-Code:
<input type="submit" name="del[45]" value="Datensatz Löschen">
Und an die ID (hier 45) kommst du dann z.B. mit array_keys() und array_pop()
__________________
Wir werden alle sterben
Mit Zitat antworten
  #6 (permalink)  
Alt 19-09-2013, 10:25
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Erstmal Vielen Dank, dass du dir die Zeit für mich nimmst.. Nur leider kann ich array_keys bzw array_pop gerade irgendwie nicht zuordnen bzw fehlt mir der Denkansatz wie ich die "del'ids'" ansprechen soll... Möglicherweise kannst du mir noch eine kleine Hilfestellung geben, wäre dir sehr verbunden.

MfG Me7z
Mit Zitat antworten
  #7 (permalink)  
Alt 19-09-2013, 10:56
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Aus meiner Wühlkiste:
(leicht für deine Zwecke modifiziert)

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors'TRUE);

function 
gib_mich_id($array)
{
  
$keys array_keys($array);
  return 
array_pop($keys);



if(!empty(
$_POST['del']) && is_array($_POST['del']))
{
    
$id gib_mich_id($_POST['del']);
    echo 
"Id $id wird gelöscht <br>";
}



?>
<form action="" method="post">
  <input type="submit" name="del[15]" value="Datensatz Löschen">
  <input type="submit" name="del[43]" value="Datensatz Löschen">
  <input type="submit" name="del[56]" value="Datensatz Löschen">
  <input type="submit" name="del[77]" value="Datensatz Löschen">
</form>
__________________
Wir werden alle sterben
Mit Zitat antworten
  #8 (permalink)  
Alt 19-09-2013, 11:00
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Super ! Vielen vielen Dank für dein ausführliche Hilfe! Habe es jedoch einige Sekunden vorher auf einen anderen Weg gelöst, welcher wäre:
PHP-Code:
echo "\t<td><input type=\"submit\" name=\"del[$line[id]]\"  value=\"Löschen\"></td>";
        echo 
"\t<td>$line[id]</td>\n";
        echo 
"\t</tr>\n";
    }
        echo 
"</table>\n";
        
//var_dump($line[id]);
        
$buttonid key($_POST['del']);
        
        if (
$_POST['del'])
        {        
            
$weg "DELETE FROM meine_tabelle WHERE id = $buttonid";
            
$result pg_query($weg);                    
        } 

Trotzdem herzlichen Dank & einen schönen Tag.

MfG Me7z
Mit Zitat antworten
  #9 (permalink)  
Alt 19-09-2013, 21:07
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Die Verwendung von key() kann unerwartete Ergebnisse zeigen. Unter manchen PHP Versionen ist ein reset() vorher nötig.
Aber dann ist die Konstruktion gleichwertig.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #10 (permalink)  
Alt 20-09-2013, 08:36
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Okay vielen Dank schonmal bzw nochmal für den Hinweis. Mein nächstes Problem ist der Bearbeitungsbutton... ich habe mir das so gedacht, das wenn man auf Bearbeiten klickt unter der Tabelle Textfelder erscheinen die mit dem jeweiligen Wert der Zeile vorselektiert sind, sprich wenn man in Zeile bearbeiten drückt, in der der Vorname Hans ist & der Nachname Mustermann werden unten diese beiden Namen in 2 verschiedenen Textboxen unter der Tabelle angezeigt. Mein Feld vorname sieht wie folgt aus:

PHP-Code:
echo "\t<td name=\"vorname$line[id]\">"$line[vorname] ."</td>\n"
und mein Plan war es, es so anzusprechen:


PHP-Code:
if ($_POST['edit'])
        {
            
//$eid = key($_POST['edit']);
            
$vorname =$_POST['vorname'];
             
var_dump($vorname);
            echo 
"\t<tr>\n";
            echo 
"\t<td><input type=\"text\" name=\"vorname_neu\" value=\"$vorname\"></td>"
Das wirft jedoch einige Probleme auf....

es erscheint zwar ein Textfeld jedoch wird der Wert vorname nicht übergeben und var_dump gibt den Wert NULL aus.
Mit Zitat antworten
  #11 (permalink)  
Alt 20-09-2013, 08:41
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

TDs haben, bzw. nutzen kein name Attribut.

Zitat:
PHP-Code:
$_POST['vorname'
Sehe kein Input mit "vorname".
Wo solls also her kommen?


Lesestoff:
[google]EVA Prinzip[/google]
[google]Affenformular[/google]
__________________
Wir werden alle sterben
Mit Zitat antworten
  #12 (permalink)  
Alt 20-09-2013, 08:48
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Ahh okay ja gut dann verstehe ich wieso ich den Wert NULL ausgegeben bekomme. Ich könnte ja oben in meiner Tabelle jeweils ein Textfeld machen mit dem entsprechenden Wert, dann würde es zumindest soweit funktionieren.. Finde aber, dass das sehr ekelig aussehen würde aber weiß mir momentan anders nicht zu helfen.. Gibt es eine Möglichkeit mein Problem so zu lösen wie ich das möchte?
Mit Zitat antworten
  #13 (permalink)  
Alt 20-09-2013, 09:17
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Was hindert dich, neben deinen Delete Knöpfen auch noch Edit Knöpfe unter zu bringen?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #14 (permalink)  
Alt 20-09-2013, 09:23
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Nichts? Die Knöpfe sind nicht das Problem lediglich die Funktion...
Mit Zitat antworten
  #15 (permalink)  
Alt 20-09-2013, 12:43
Me7z
 Registrierter Benutzer
Links : Onlinestatus : Me7z ist offline
Registriert seit: Sep 2013
Beiträge: 51
Me7z befindet sich auf einem aufstrebenden Ast
Standard

Habe nun alles selber zu meiner Zufriedenheit gelöst. Danke für deine Geduld.
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfacher Button zum löschen MExitus PHP Developer Forum 36 01-07-2010 14:37
leere datenbank bzw. 6 button 1 formular DarkAngel1208 PHP Developer Forum 5 07-03-2007 12:06
Tabelleninhalt mit button löschen??? rswtal SQL / Datenbanken 75 23-11-2005 18:35
Datensatz in TextDatei verändern bzw. löschen rvm PHP Developer Forum 1 25-02-2004 14:38
Daten speichern bzw löschen archie SQL / Datenbanken 6 26-05-2003 18:12

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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:13 Uhr.