Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> PHP Code für MySQL-Abfrage optimieren?, Thx im Voraus...
pl_90
Geschrieben am: Mo 11.06.2007, 18:10
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 237
Mitglied seit: 29.03.2007


Hallo,
Nicht lachen, das ist mein erster Code... hehe.. biggrin.gif

Wie kann ich folgenden Code optimieren?
Die Datenbankabfragen dauern "ewigkeit"...

Danke schön im Voraus....


Sieht vielleicht lang aus, ist es aber in echt nicht.. rolleyes.gif
CODE

<?php
if (!empty ($_GET['page'])) {
include("templates/php/head.php");
} else {
include("templates/php/head_index.php");
}
?>

<?php

include("inc_include/datenbank.inc.php");

require_once "require/sprache/$_SESSION[lang].php";
require_once "templates/php/impressum.php";
require_once "templates/php/kontakt.php";


$template = implode("",file("templates/tpl/template.tpl"));


$aktion = $_GET['aktion'];




function email_check($email) {
if( ereg("^[a-zA-Z0-9-]+([._a-zA-Z0-9.-]+)*@[a-zA-Z0-9.-]+\.([a-zA-Z]{2,4})$",$email))
return TRUE;
else return FALSE;
}



if ($_GET['order'] == 'zufall') {
$result = mysql_query("select * from LINKEINTRAEGE WHERE STATUS = '1' AND BACKLINK = '0' ORDER BY RAND()");
$reihen = mysql_num_rows($result);

} else {

$result = mysql_query("select * from LINKEINTRAEGE WHERE STATUS = '1' AND BACKLINK = '0' ORDER BY ID DESC");
$reihen = mysql_num_rows($result);
}



#$zufall_abfrage = mysql_query("select * from LINKEINTRAEGE ORDER BY RAND() LIMIT 1");
#$zufall_ausgabe = mysql_num_rows($zufall_abfrage);


$result_b = mysql_query("select * from LINKEINTRAEGE WHERE STATUS = '1' AND BACKLINK = '1' ORDER BY ID DESC");
$reihen_b = mysql_num_rows($result_b);



#$partner = "$links_partner";
#$anzeigen = "$anzeige";



#if (mysql_num_rows($zufall_abfrage)) {
#while($row=mysql_fetch_array($zufall_abfrage)) {

#$url = $row['URL'];
#$statuszeile = $row['STATUSZEILE'];
#$titel_tag = $row['TITEL_TAG'];

#$zufallslink = "<a onmouseover=\"statusIn('$statuszeile'); return true;\" onmouseout=\"statusOut(); return true\" target=\"_blank\" title=\"$titel_tag\" href=\"$url\">Das ist ein Zufallslink</a>";

#}
#}





if (mysql_num_rows($result_b)) {
while($row=mysql_fetch_array($result_b)) {

$linktext = $row['LINKTEXT'];
$beschreibung = $row['BESCHREIBUNG'];
$statuszeile = $row['STATUSZEILE'];
$titel_tag = $row['TITEL_TAG'];
$url = $row['URL'];


$script .= "<table cellpadding=\"0\" cellspacing=\"0\" class=\"b_eintrag_1\" width=\"100%\">
     <tr>
       <td valign=\"top\" rowspan=\"2\" align=\"justify\">
       
   <table cellpadding=\"0\" cellspacing=\"0\" class=\"b_eintrag_2\" width=\"100%\">
     <tr>
       <td valign=\"top\" width=\"70\" rowspan=\"2\">
       <img border=\"0\" src=\"http://www.m-software.de/screenshot/Screenshot.png?url=$url&scale=6&width=68&height=50&delay=6&commingsoonimg=http://spammen.online-web24.de/images/cs_img.gif\" width=\"68\" height=\"50\">
       </td>
       <td width=\"*\" valign=\"top\"><a target=\"_blank\" onmouseover=\"statusIn('$statuszeile'); return true\" onmouseout=\"statusOut(); return false;\" title=\"LINK BY SPAMMEN & WERBEN!: $titel_tag\" href=\"$url\"><b>$linktext</b></a>
       <img border=\"0\" src=\"images/stern-popup.gif\" width=\"16\" height=\"16\"></td>
     </tr>
     <tr>
       <td width=\"*\">$beschreibung</td>
     </tr>
   </table>
   
    </td>
     </tr>
   </table>
<hr class=\"hr_link\" />
";
}
}





############ LINKS AUSGABE ###############


$werbung_abfrage = mysql_query("select * from werbung ORDER BY RAND() LIMIT 1");
$werbung_ausgabe = mysql_num_rows($werbung_abfrage);

while($row=mysql_fetch_array($werbung_abfrage)) {
$werbung = stripslashes($row['CODE']);
$script .= "<table cellpadding=\"0\" cellspacing=\"0\" class=\"none\" width=\"100%\">
     <tr>
       <td valign=\"top\" width=\"11%\" rowspan=\"2\" align=\"justify\">
     
   <table cellpadding=\"0\" cellspacing=\"0\" class=\"none_2\" width=\"100%\">
     <tr>
       <td width=\"42\"><img border=\"0\" src=\"images/tipptipp.gif\" width=\"38\" height=\"12\" border=\"0\"></td>
       <td width=\"*\"><b>$werbung</b></td>
     </tr>
   </table>
   
    </td>
     </tr>
   </table>
<hr class=\"hr_link\" />
";

}




$i = 1;


while($row=mysql_fetch_array($result)) {

$linktext = $row['LINKTEXT'];
$beschreibung = $row['BESCHREIBUNG'];
$statuszeile = $row['STATUSZEILE'];
$titel_tag = $row['TITEL_TAG'];
$banner_url = $row['BANNER_URL'];
$url = $row['URL'];

$script .= "<table cellpadding=\"0\" cellspacing=\"0\" class=\"none\" width=\"100%\">
     <tr>
       <td valign=\"top\" width=\"11%\" rowspan=\"2\" align=\"justify\">
       
   <table cellpadding=\"0\" cellspacing=\"0\" class=\"none_2\" width=\"100%\">
     <tr>
       <td width=\"90%\" valign=\"top\"><a target=\"_blank\" onmouseover=\"return escape('<img src=\'$banner_url\'>');\" onmouseout=\"return false;\" title=\"LINK BY SPAMMEN & WERBEN!: $titel_tag\" href=\"$url\"><b>$linktext</b></a></td>
     </tr>
     <tr>
       <td width=\"90%\">$beschreibung</td>
     </tr>
   </table>
   
    </td>
     </tr>
   </table>
<hr class=\"hr_link\" />
";



if( ($i % 5) == 0) {


$werbung_abfrage = mysql_query("select * from werbung ORDER BY RAND() LIMIT 1");
$werbung_ausgabe = mysql_num_rows($werbung_abfrage);

while($row=mysql_fetch_array($werbung_abfrage)) {
$werbung = stripslashes($row['CODE']);
$script .= "<table cellpadding=\"0\" cellspacing=\"0\" class=\"none\" width=\"100%\">
     <tr>
       <td valign=\"top\" width=\"11%\" rowspan=\"2\" align=\"justify\">
     
   <table cellpadding=\"0\" cellspacing=\"0\" class=\"none_2\" width=\"100%\">
     <tr>
       <td width=\"42\"><img border=\"0\" src=\"images/tipptipp.gif\" width=\"38\" height=\"12\" border=\"0\"></td>
       <td width=\"*\"><b>$werbung</b></td>
     </tr>
   </table>
   
    </td>
     </tr>
   </table>
<hr class=\"hr_link\" />
";

}

}

$i++;

}


################ LINKS AUSGABE ENDE #################







if($_GET['page'] == "impressum") {
$script = "$impressum";
}


if($_GET['page'] == "kontakt") {
$script = "$kontaktformular";
}




if($aktion == "send_email") {

$mail_empfaenger = "EMAIL";
$from = "EMAIL";

$name = $_POST['name'];
$vorname = $_POST['vorname'];
$strasse = $_POST['strasse'];
$hausnummer = $_POST['hausnummer'];
$plz = $_POST['plz'];
$wohnort = $_POST['wohnort'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];

$text = "Name, Vorname: $name, $vorname\nStrasse, Hausnummer: $strasse, $hausnummer\nPLZ, Wohnort: $plz, $wohnort\n\nEmail-Adresse: $email\n\nNachricht: $nachricht";
$text_bst = "Sehr geehrte(r) Frau/Herr $name $vorname,\n\nVielen Dank für Ihre Email. Ich werde Ihnen schnellstmöglich auf Ihre Nachricht:\n\n\"$nachricht\"\n\n antworten.\n\n\nMit freundlichen Grüßen\n\nDawid Drobisz\n\nwww.online-web24.de\nwww.spammen.online-web24.de\n\n\n\n\nDiese Email wurde automatisch generiert und versendet. Bitte antworten Sie nicht, da die Emails an diese Email-Adresse nicht verarbeitet werden.\nHaben Sie noch Fragen, können Sie eine Nachricht an  info@online-web24.de  schicken.";



if ($name == "" || $vorname == "" || $betreff == "" || $email == "" || $nachricht == ""){
$fehlermeldung = "<table cellpadding=\"0\" cellspacing=\"0\" style=\"border: 1px solid #EE0000; background-color: #FFD2D2; padding: 8px; font-size: 11px; font-family: Tahoma; text-align: center; color: #FF0000; font-weight: bold;\" width=\"99%\">
                                     <tr>
                                            <td width=\"99%\">Bitte füllen Sie alle mit einem Sternchen * versehenden Felder aus.</td>
                                     </tr>
                               </table>
                            <br>
";
}

elseif (!(email_check($email))) {
$fehlermeldung = "<table cellpadding=\"0\" cellspacing=\"0\" style=\"border: 1px solid #EE0000; background-color: #FFD2D2; padding: 8px; font-size: 11px; font-family: Tahoma; text-align: center; color: #FF0000; font-weight: bold;\" width=\"99%\">
                                     <tr>
                                            <td width=\"99%\">Ihre Email-Adresse ist ungültig. Bitte überprüfen Sie Ihre Eingabe.</td>
                                     </tr>
                               </table>
                            <br>
";
}


else {

mail($mail_empfaenger, $betreff, $text,"from:$email");
mail($email, "RE: Ihre Nachricht an mich. - \"$betreff\"", $text_bst,"from:$from");

$fehlermeldung = "<table cellpadding=\"0\" cellspacing=\"0\" style=\"border: 1px solid #00BB5E; background-color: #CAFFCA; padding: 8px; font-size: 11px; font-family: Tahoma; text-align: center; color: #00A452; font-weight: bold;\" width=\"99%\">
                                     <tr>
                                            <td width=\"99%\">Vielen Dank. Ihre Nachricht wurde versendet. Ich werde Ihnen schnellstmöglich antworten.</td>
                                     </tr>
                               </table>
                            <br>
";

}
}


$template = str_replace("{fehlermeldung}", $fehlermeldung, $template);
$template = str_replace("{script}", $script, $template);

echo ($template);

?>





Nochmals Danke schön...



Grüße

Dawid


--------------------
Top
PMUsers Website
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Mo 11.06.2007, 19:12 (+01:01)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2432
Mitglied seit: 4.02.2006


Google mal nach 'Group By' und les dir von der ersten Fundstelle den allerletzten Abschnitt durch.

Paßt genau.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
pl_90
#3 Geschrieben am: Mo 11.06.2007, 19:33 (+00:20)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 237
Mitglied seit: 29.03.2007


Hallo

Vielen Dank für schnelle Antwort.
Ich glaube Group By bringt nicht, weil ich hab zwei verschiedene Templates (für die Abfragen) und die Ausgaben sollen auch in unterschiedlichen Positionen doch sein...
Andere Idee?


--------------------
Top
PMUsers Website
Top
 
pl_90
  #4 Geschrieben am: Mi 13.06.2007, 22:04 (+2d 02:31)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 237
Mitglied seit: 29.03.2007


Hat wirklich niemand ne Idee??
Oder liegt das irgendwie an meinem Server?


--------------------
Top
PMUsers Website
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#5 Geschrieben am: Mi 13.06.2007, 22:20 (+00:16)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2432
Mitglied seit: 4.02.2006


Zitat aus dem oben erwähnten Artikel:

QUOTE
In PHP-Foren findet sich wiederholt Code, mit welchem die Zahl der Zeilen in einer Tabelle ermittelt werden soll. Dieser Code ist wie folgt aufgebaut:

$select = mysql_query("Select * From Artikel");
$reihen = mysql_num_rows($select);

Eine solche Verarbeitung widerspricht sämtlichen Prinzipien ressourcenschonender Programmierung.


Den Rest findest Du dort.

Lustig - sogar die Variablen sind gleich benannt wie bei dir - obwohl das obige Zitat schon einige Monate älter ist.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
pl_90
#6 Geschrieben am: Mi 13.06.2007, 22:37 (+00:16)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 237
Mitglied seit: 29.03.2007


Achso das meintest du...
Ok, Danke schön.. werddddddddddddddd ich versuchen....


--------------------
Top
PMUsers Website
Top
 
pl_90
#7 Geschrieben am: Do 14.06.2007, 18:35 (+19:58)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 237
Mitglied seit: 29.03.2007


Hallo,

Ich habe das so gemacht:
CODE

$result = mysql_query("select Count(*) from LINKEINTRAEGE WHERE STATUS = '1' AND BACKLINK = '0' ORDER BY ID DESC");
$reihen = mysql_fetch_rows($result);


und so:
CODE

$result = mysql_query("select * from LINKEINTRAEGE WHERE STATUS = '1' AND BACKLINK = '0' ORDER BY ID DESC");
$reihen = mysql_fetch_rows($result);


Aber kommt immer folgender Fehler:
Call to undefined function mysql_fetch_rows()


Was ist los?


--------------------
Top
PMUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/18815

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Lost connection to MySQL cr4m0 122 4 So 23.11.2008, 14:31
MySQL Frage G.P. 103 2 Mo 17.11.2008, 15:59
SQL Abfrage für OS Commerce Siegfried_D 122 5 Do 13.11.2008, 22:58
Suche Freelancer: Ajax, XML, PHP, MySQL omc 316 3 Mi 12.11.2008, 18:22
Einbinden vonn RSS feeds in Typo3 / MYSQL e-card 10923 5 Di 4.11.2008, 18:36
MySql Frage - ID Ändern EuD 120 2 Di 4.11.2008, 11:09
mysql query vereinfachen Big Rob 162 5 Mo 3.11.2008, 22:40
mysql Dump Städte pl_90 159 2 So 26.10.2008, 01:13
MySQL Befehl G.P. 170 5 Fr 24.10.2008, 15:58
Lösung für: Content Slider-Java Script-PHP-MySql Antoine Johannes 331 2 Fr 26.09.2008, 12:54




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]