4images Forum & Community

4images Issues / Ausgaben => Discussion & Troubleshooting => Topic started by: senloel on November 10, 2013, 06:53:09 PM

Title: if (action == submit) ???
Post by: senloel on November 10, 2013, 06:53:09 PM
Hey,

hab ne kurze Frage:

Beim Submit-Klicken im Validation area soll eine sql-Abfrage ausgeführt werden, die in einer if-Bedingnung steht.

Nur: Wie schreibt man die Bedingnung?

Mit
if ( action == Submit ) {
funzt es nicht.

Ist wahrscheinlich ganz einfach, deshalb bitte nicht aufregen, PHP ist für mich manchmal noch Neuland ;)

Grüße und Danke,
Patrick
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 10, 2013, 07:14:22 PM
Hi!
Du brauchst deine SQL abfrage nur zwischen:

if ($action == "validateimages") {
.
.
.
}

schreiben, dann sollte es klappen.

mfg Andi
Title: Re: if (action == submit) ???
Post by: senloel on November 10, 2013, 07:20:14 PM
Dann wird doch aber direkt beim Aufruf die SQL-Abfrage ausgeführt, oder?

Die SQL-Abfrage updated ein Feld um einen bestimmten Wert, der aber erst beim Submit-Klicken eingetragen werden soll.
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 10, 2013, 07:35:21 PM
hast recht, setze deine SQL zwischen:

if ($action == "saveimages") {
.
.
}
Title: Re: if (action == submit) ???
Post by: senloel on November 10, 2013, 08:30:53 PM
Ok, meine Abfrage scheint nicht zu funktionieren, ich poste den Code mal hier rein:

if ($action == "saveimages") {
  $image_list = (isset($HTTP_POST_VARS['image_list'])) ? $HTTP_POST_VARS['image_list'] : "";
  $sql = "UPDATE ".USERS_TABLE." SET screening_number=screening_number+".$countimages['images']." WHERE user_name='".$row['user_name']."'";

Im Validation area soll gezählt werden, wieviele Bilder der jeweilige Admin freigeschaltet hat, also soll der Wert in screening_number um die jeweilige Zahl erhöht werden.

Danke und Grüße,
Patrick
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 10, 2013, 10:29:08 PM
du mußt erst den alten zählerstand aus deinen Tabellenfeld "screening_number" auslesen und in eine Variable schreiben, nennen wir die Variable "$old_screening_number".

"$row['user_name']", dieses Array gibt es nicht, "$user_info['user_name']" sollte funktionieren, besser wäre es aber wenn du die" user_id" verwendest.



$image_list = (isset($HTTP_POST_VARS['image_list'])) ? $HTTP_POST_VARS['image_list'] : "";
$count_images = count($image_list);

$sql = "UPDATE ".USERS_TABLE."
           SET screening_number = ($old_screening_number + $count_images)
           WHERE user_id= ".$user_info['user_id']."
          ";

Title: Re: if (action == submit) ???
Post by: senloel on November 12, 2013, 06:31:19 PM
So, gleich mal probiert.

Funzt aber leider noch nicht.

Hier mal der Code:

if ($action == "saveimages") {
  $image_list = (isset($HTTP_POST_VARS['image_list'])) ? $HTTP_POST_VARS['image_list'] : "";

  $sql = "SELECT screening_number AS old_screening_number
          FROM ".USERS_TABLE." WHERE user_id=".$user_info['user_id']."";
  $row = $site_db->query_firstrow($sql);
  $old_screening_number = $row['old_screening_number'];

  $count_images = count($image_list);

  $sql = "UPDATE ".USERS_TABLE."
           SET screening_number = ($old_screening_number + $count_images)
           WHERE user_id= ".$user_info['user_id']."
          ";
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 12, 2013, 09:12:25 PM
Hm.. muß funktionieren, setze deine Abfrage nach:
if (!empty($image_list)) {

Das Alias in der SQL ist unnötig.



if (!empty($image_list)) {

  $sql = "SELECT screening_number
          FROM ".USERS_TABLE."
          WHERE user_id=".$user_info['user_id']."";
  $row = $site_db->query_firstrow($sql);
  $old_screening_number = $row['screening_number'];

  $count_images = count($image_list);

  $sql = "UPDATE ".USERS_TABLE."
          SET screening_number = ($old_screening_number + $count_images)
          WHERE user_id= ".$user_info['user_id']."
         ";
   $site_db->query($sql);       

Title: Re: if (action == submit) ???
Post by: senloel on November 13, 2013, 05:11:24 PM
Hm, habs an der Stelle eingesetzt, funktioniert aber immernoch nicht.

Hab mal probiert nur das Ergebnis der Abfrage auszugeben, also mit

".$row['screening_number']."
, aber es wird kein Ergebnis angezeigt.

Eventuell habe ich irgendeinen Fehler beim Anlegen der Feldes in der Tabelle gemacht?
Da gibt es doch vachar, not null default usw.?
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 13, 2013, 05:24:27 PM
na schau doch ganz einfach in die DB hinein, ob ein wert drinnen steht...
aber ich denke mir halt wenn es das Tabellenfeld nicht gibt, würde es eine Fehlermeldung geben.
Title: Re: if (action == submit) ???
Post by: senloel on November 13, 2013, 05:25:56 PM
Jo, steht einer drin: "0" ;)
Title: Re: if (action == submit) ???
Post by: Rembrandt on November 14, 2013, 06:24:13 PM
so habe den Beitrag editiert:
http://www.4homepages.de/forum/index.php?topic=31390.msg164682#msg164682
Title: Re: if (action == submit) ???
Post by: senloel on November 14, 2013, 06:42:45 PM
so habe den Beitrag editiert:
http://www.4homepages.de/forum/index.php?topic=31390.msg164682#msg164682

Klappt ;)

Vielen Dank für deine Hilfe!