Nuke Modul -> Pragma

Begonnen von Lazar, 17 Februar 2006, 11:59:25

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Lazar

Ji, ich versuche gerade ein Nukemodul für das Pragma umzubasteln.
Dabei habe ich ein Problem, das ich nicht verstehe.

folgende Funktion:
function get_user_name($id, $link=0)
{
  global $user_prefix, $db;
  $username = '';
$res = $db->sql_query('SELECT uname FROM '.$user_prefix.'_users WHERE uid='.$id);
  if ($db->sql_numrows($res)==1)
  {
   list($username) = $db->sql_fetchrow($res);
   if ($link) { $username = '<a href="'.getlink('Your_Account&op=userinfo&username='.$username).'">'.$username.'</a>'; }
  }
  $db->sql_freeresult($res);
  return $username;
}


Meldet mir:

before = SELECT uname FROM mx_users WHERE uid=2
after = SELECT uname FROM mx_users WHERE user_id=2
Unknown column 'user_id' in 'where clause'
Notice: Use of undefined constant END_TRANSACTION - assumed 'END_TRANSACTION' in /includes/db/db.php on line 135


Ich habe schon mal alle vorkommen von "user_id" durch "uid" ersetzt. Aber der Fehler bleibt.

Hätte jemand eine Idee wo ich noch suchen könnte ?


Nachtrag: Wenn ich in der db.php die Zeile 116 "$query = convert65($query);" auskommentiere klappt es.
Geht das ohne Probleme ? Oder reisse ich dann woanders wieder eine Baustelle auf ?



Lazar

#2
Vielen Dank.

(Ich hatte meine Suche mehr in Richtung "user_id". Und darunter hatte ich nichts gefunden.)

Nachtrag: Die genannten Zeilen gibt es in meiner db.php nicht...  :'(

Andi

Moin :)

die Funktion convert65() versucht die Feldnamen dynamisch umzuschreiben. Ein anpassen der Feldnamen müsste also in den meisten Fällen unnötig sein. Du brauchst nur die Datenbankabfragen anzupassen, die Fehler verursachen.
Das siehst du, wenn im Adminmenü das sql-errordebug eingeschaltet ist.
Nur dann erscheinen auch die Hinweise mit before und after.
Die Funktion findet sich in der sql_layer.php.
schön´s Grüssle, Andi

Lazar

Zitat von: Andi am 17 Februar 2006, 16:39:07
Moin :)

die Funktion convert65() versucht die Feldnamen dynamisch umzuschreiben. Ein anpassen der Feldnamen müsste also in den meisten Fällen unnötig sein. Du brauchst nur die Datenbankabfragen anzupassen, die Fehler verursachen.
Das siehst du, wenn im Adminmenü das sql-errordebug eingeschaltet ist.
Nur dann erscheinen auch die Hinweise mit before und after.
Die Funktion findet sich in der sql_layer.php.

Das ist ja das was ich nicht verstehe. IMHO ist meine Abfrage richtig. Erst die Funktion convert65() macht aus dem "uid" ein "user_id". (Mit dem meine Datenbank dann nichts anfangen kann)

NeMeSiSX2LC

#5
Mach es mal so:

function get_user_name($id, $link=0)
{
  global $user_prefix;
  $username = '';
$res = sql_query('SELECT uname FROM '.$user_prefix.'_users WHERE uid='.$id);
  if (sql_num_rows($res)==1)
  {
   list($username) = sql_fetch_row($res);
   if ($link) { $username = '<a href="modules.php?name=Userinfo&uname='.$username.'">'.$username.'</a>'; }
  }
  return $username;
}


getlink ? ist eine CPG Nuke Modul was du anpassen willst richtig?

bzw Andi er hat recht wenn $db-> benutzt wird und da uid drin steht macht er daraus user_id ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Lazar

#6
Zitat von: NeMeSiSX2LC am 18 Februar 2006, 02:21:32
getlink ? ist eine CPG Nuke Modul was du anpassen willst richtig?

Das Modul "mcomp" ist für PHP-Nuke and CPG-Nuke.
Wobei sich das Thema schon fast erledigt hat, da dieses Ladder-Modul ziemlich verbugt ist, und nicht immer macht was es soll.

Gibt es denn kein vernünftiges Script für Ligen ?
(Nuke-Ladder ist ja leider nur nach Bezahlung zu bekommen. Nicht das ich das nicht gerne machen würde. Aber ohne es zu testen bestellen ?... Naja, wenn das so weitergeht lerne ich mehr PHP und schreibe ein eigenes  :'(  )