Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


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