Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
update statement
#1
Hallo,

folgende Statement bereiten mir Kopfzerbrechen

PHP-Code:
if($mybb->input['old_cid']!=$mybb->input['cid']){ $db->update_query(TABLE_PREFIX . 'linkscategories', array('links'=>links-1), "cid='$act_cid'"); $db->update_query(TABLE_PREFIX . 'linkscategories', array('links'=>links+1), "cid='$cid'");

sollen jeweis Feld links um einen erhöhen bzw reduzieren.

Verwendet myBB Active Record Patterns?
Gruß
Mad4Milk
Freizeitspass mit Volleyball
#2
O.K.

ein Blick in die DB-Engine offenbart des Rätsels Lösung:

PHP-Code:
function update_query($table, $array, $where="", $limit="") { if(!is_array($array)) { return false; } $comma = ""; $query = ""; foreach($array as $field => $value) { $query .= $comma.$field."='".$value."'"; $comma = ", "; } if(!empty($where)) { $query .= " WHERE $where"; } if(!empty($limit)) { $query .= " LIMIT $limit"; } return $this->query("UPDATE $table SET $query"); }
die Values werden gequotet:question:
muss dann wohl so aussehen:
PHP-Code:
$db->query("UPDATE `".TABLE_PREFIX."linkscategories` SET links=links+1 WHERE cid='$cid'");

Aber ich lasse mich gerne eines besseren belehren
Gruß
Mad4Milk
Freizeitspass mit Volleyball
#3
Genau das wird ausgeführt. Bei größeren Arrays macht die Funktion aber mehr Sinn.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#4
O.K.

und mit Active Record Patterns hat das natürlich auch nichts zu tun
Gruß
Mad4Milk
Freizeitspass mit Volleyball