pragmaMx Support Forum pragmaMx Support Forum

Alte Module Anpasssen

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline pikar

  • ***
  • 240
  • +0/-4
  • Geschlecht: Männlich
Alte Module Anpasssen
« am: 02 August 2016, 09:02:44 »
Hallo

ich habe ein altes Modul was unter 1.12.3.1.33.4.14 (2012-06-21) und nun versuche ich es auf das 2.2.4.74 (2015-08-13) anzupassen

da kommt folgende Fehler Meldung

PHP Run-time warning:
mysql_result() expects parameter 1 to be resource, object given
in modules/Namenstag/showalpha.php on line 181

das wäre dann mal der Code

  $result = sql_query("select content, bes from ".$prefix."_namenstag order by eid DESC limit 0,1", $dbi);
        list($lastuser) = sql_fetch_row($result, $dbi);
    //    echo "<i>$lastuser</center></b></i>";
        $numrows = sql_num_rows(sql_query("select eid from ".$prefix."_namenstag", $dbi), $dbi);
        echo "<br><center>"._WEHAVE." <b>$numrows</b> "._BIRTHENTR."<br><br>\n";
        alpha();
        SortLinks($letter);


        $min = $pagesize * ($page - 1); // This is where we start our record set from
        $max = $pagesize; // This is how many rows to select

        /* All my SQL stuff. DO NOT ALTER ANYTHING UNLESS YOU KNOW WHAT YOU ARE DOING */

/* This is a totaly crap code, any help to re-code this functions will be very appreciated */
/* Need to be database independent */

        $count = "SELECT COUNT(eid) AS total FROM ".$prefix."_namenstag "; // Count all the users in the db..
        $select = "select eid, content, bes, did, mid, yid from ".$prefix."_namenstag "; //select our data
        $where = "where eid != 0 ";
        if ( ( $letter != "Other" ) AND ( $letter != "All" ) ) {  // are we listing all or "other" ?
            $where .= "AND content like '".$letter."%' "; // I guess we are not..
        } else if ( ( $letter == "Other" ) AND ( $letter != "All" ) ) { // But other is numbers ?
            $where .= "AND content REGEXP \"^\[1-9]\" "; // REGEX :D, although i think its MySQL only
                                                        // Will have to change this later.
                                                        // if you know a better way to match only the first char
                                                        // to be a number in uname, please change it and email
                                                        // myphportal-developers@lists.sourceforge.net the correction
                                                        // or goto http://sourceforge.net/projects/myphportal and post
                                                        // your correction there. Thanks, Bjorn.
        } else { // or we are unknown or all..
            $where .= ""; // this is to get rid of anoying "undefinied variable" message
        }
        $sort = "order by $sortby"; //sorty by .....
        $limit = " ASC LIMIT ".$min.", ".$max; // we only want rows $min  to $max
        /* due to how this works, i need the total number of users per
        letter group, then we can hack of the ones we want to view */
        $count_result = sql_query($count.$where, $dbi);
        $num_rows_per_order = mysql_result($count_result,0,0);

        /* This is where we get our limit'd result set. */
        $result = sql_query($select.$where.$sort.$limit, $dbi) or die(); // Now lets do it !!

besagter Zeile wäre das hier

$num_rows_per_order = mysql_result($count_result,0,0);
weiß jemand was hier angepasst werden muss?

Offline TerraProject

  • ******
  • 1.959
  • +2/-0
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #1 am: 02 August 2016, 09:08:41 »
prinzipell erstmal ALLE sql-Aufrufe umstellen von "mysql_xxxxx" auf "sql_xxxx" !!
bei keinem SQL-Aufruf ist das $dbi als 2. Parameter notwendig und überflüssig.
Bitte unbedingt die API- und SQL-Funktionen des Systems nutzen, sonst geht nix !!!
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!


Offline pikar

  • ***
  • 240
  • +0/-4
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #2 am: 02 August 2016, 09:59:34 »
hi

ok hab das my... entfernt, auch die dbi

nun meldet er diesen fehler in der zeile
Fatal error: Call to undefined function sql_result() in /home/www/web204/html/doc/modules/Namenstag/showalpha.php on line 183

da steh in der Zeile

 $num_rows_per_order = sql_result($count_result,0,0);

gibt ne Doku zum anpassen der Module, was alles geändert werden muss fürs neue PMX?


Offline TerraProject

  • ******
  • 1.959
  • +2/-0
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #3 am: 02 August 2016, 10:46:47 »
die Doku kommt noch....

der Befehr sql_result ... bzw mysql_result gibt es unter mysqli nicht mehr. Auch war er nie Bestandteil der pmx-API. Für das Ermitteln der Anzahl der Ergebnisse für eine Abfrage solltest du sql_num_rows($result) verwenden.
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!


Offline pikar

  • ***
  • 240
  • +0/-4
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #4 am: 02 August 2016, 11:40:36 »
ok gut wenn ne doku kommt...

habe jetzt aus der fehlerhaften zeile

$num_rows_per_order = sql_result($count_result,0,0);

diese hier gemacht
$num_rows_per_order = sql_num_rows($result, $count_result,0,0);

oder auch mit dieser hier
$num_rows_per_order = sql_num_rows($count_result,0,0);

oder dieser
$num_rows_per_order = sql_num_rows($result);

 probiert, es wird nun zwar ein Inhalt angezeigt aber keine weiteren links zu weiteren Seiten da steht dann nur immer 1 Eintrag

Offline TerraProject

  • ******
  • 1.959
  • +2/-0
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #5 am: 02 August 2016, 11:49:23 »
ok, so sollte es gehen....
 
$temp=sql_fetch_row($result);
$num_rows_per_order = $temp[0];
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!


Offline pikar

  • ***
  • 240
  • +0/-4
  • Geschlecht: Männlich
Re:Alte Module Anpasssen
« Antwort #6 am: 02 August 2016, 11:56:21 »
Danke

so hats nun funktioniert

$temp=sql_fetch_row($count_result,0,0);
$num_rows_per_order = $temp[0];