+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Funktion oder nicht!?

  1. #1
    TP-Supporter DenisCGN macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    403

    Funktion oder nicht!?

    Nabend zusammen,

    ich stehe vor der Frage:

    Soll ich eine Funktion verwenden oder einfach immer den Code vorher ausführen.
    Ich erstelle für meine Website Suchmaschinenfreundliche Links. Dazu frage ich die Datenbank ab. Erstelle den Rohlink und convertiere ihn mit einem Script, welches mir dem Link nach meinen Wünschen umstellt. Alles klein etc.

    Also zur Zeit habe ich ca. 1000 Eiträge in meiner Datenbank. Welche Variante ist denn die Zeitfreundlichste?

    Wenn ich die Funktion nehmen sollte, kann mir dann bitte einer sagen wie das funktioniert?

    Hier mal der Code zum Umwandeln:

    PHP-Code:
    $html_url $row_konzert['artist'].'-'.$row_konzert['venuename'].'-'.$row_konzert['venueort'].'_'.$row_konzert['id'];
    $arSearch = Array('ä','ö','ü','ß','Ä','Ö','Ü',' ');
    $arReplace = Array('ae','oe','ue','ss','Ae','Oe','Ue','-');
    $html_url str_replace($arSearch$arReplace$html_url);
    $html_url ereg_replace("[^a-zA-Z0-9_-]"""$html_url);
    $html_url strtolower($html_url); 
    Grüße
    der Denis

  2. #2
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Genau für sowas sind Functions da, da sie auch weniger Ressourcen brauchen, da sie nur einmal initialisiert werden und dann im Speicher liegen.
    Für die Frage, wie das geht ... wie sehen denn Deine Ansätze aus, wo hast Du da genau Deine Probleme?
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  3. #3
    TP-Supporter DenisCGN macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    403
    Hallo Mark,

    mhh, ich weiss schon das eine Funktion mit FUNKTION NeueURL ($html) {} erstellt wird. Hoffe ich mal.
    Aufgerufen wird es dann glaube ich mit $html -> neueURL.
    Das würde bedeuten, ich erstelle meine $html wie bisher, jage diese durch die Fumktion und bekommen eine neue $html zurück?
    Wo platziere ich die Funktion?

    Grüße
    Denis

  4. #4
    TP-Supporter tom81 ist auf einem guten Weg Avatar von tom81
    Registriert seit
    Mar 2006
    Ort
    Erftstadt
    Beiträge
    301
    Ich glaube du hast da grade ein Objekt, Methode mit einer Funktion ohne Klasse verwechselt.
    Eine Funktion ohne Returnwert wird so aufgerufen:
    funktion($var); --> $var muss nicht sein wenn nichts übergeben wird.
    Mit Rückgabewert:
    $x=funktion($var); --> $var muss nicht sein wenn nichts übergeben wird.

    $objekt->funktion($var); ist Objektorjentiert und erfordert eine Klasse.

    Gruß
    Tom
    "Ich darf das!"
    Der Mensch hat drei Wege, klug zu handeln. Erstens durch Nachdenken: Das ist der edelste. Zweitens durch Nachahmen: Das ist der leichteste. Drittens durch Erfahrung: Das ist der bitterste. (Konfuzius)

  5. #5
    TP-Supporter DenisCGN macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    403
    Also das soll meine Funktion sein:

    Function new_url(){

    $arSearch = Array('ä','ö','ü','ß','Ä','Ö','Ü',' ');
    $arReplace = Array('ae','oe','ue','ss','Ae','Oe','Ue','-');
    $html_url = str_replace($arSearch, $arReplace, $html_url);
    $html_url = ereg_replace("[^a-zA-Z0-9_-]", "", $html_url);
    $html_url = strtolower($html_url);
    $arSearch = Array('--');
    $arReplace = Array('-');
    $html_url = str_replace($arSearch, $arReplace, $html_url);
    $html_url = $html_url.'.html';

    }

    <a href="new_url($row_konzert['venuename'].'-'.$row_konzert['venueort'].'_'.$row_konzert['id'])">LINK</a>

    oder?
    Geändert von DenisCGN (15.01.2007 um 13:08 Uhr)

  6. #6
    TP-Veteran Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.686
    Du musst noch einen Uebergabeparameter fuer deine Funktion angeben.
    Ein return waere auch nicht schlecht, wenn du kein echo nutzen willst.

    PHP-Code:
    function new_url($var){
    $arSearch = Array('ä','ö','ü','ß','Ä','Ö','Ü',' '); 
    $arReplace = Array('ae','oe','ue','ss','Ae','Oe','Ue','-'); 
    $html_url str_replace($arSearch$arReplace$var); 
    $html_url ereg_replace("[^a-zA-Z0-9_-]"""$html_url);
    $html_url strtolower($html_url);
    $arSearch = Array('--'); 
    $arReplace = Array('-'); 
    $html_url str_replace($arSearch$arReplace$html_url);
    return 
    $html_url.'.html';

    PHP-Code:
    <a href="<?=new_url($row_konzert['venuename'].'-'.$row_konzert['venueort'].'_'.$row_konzert['id'])?>">LINK</a>

  7. #7
    TP-Supporter DenisCGN macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    403
    Das funktioniert nicht, :-(

    PHP-Code:
    <?php
    function new_url($var){ 
    $arSearch = Array('ä','ö','ü','ß','Ä','Ö','Ü',' ');  
    $arReplace = Array('ae','oe','ue','ss','Ae','Oe','Ue','-');  
    $html_url str_replace($arSearch$arReplace$var);  
    $html_url ereg_replace("[^a-zA-Z0-9_-]"""$html_url); 
    $html_url strtolower($html_url); 
    $arSearch = Array('--');  
    $arReplace = Array('-');  
    $html_url str_replace($arSearch$arReplace$html_url); 
    return 
    $html_url.'.html'

    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    PHP-Code:
    <body>
    <?php do { ?>
    <a href="<?php new_url($row_test['titel'].'-'.$row_test['label'].'_'.$row_test['id']) ?>">LINK</a><br><br>
    <?php } while ($row_test mysql_fetch_assoc($test)); ?>
    </body>
    </html>
    <?php
    mysql_free_result
    ($test);
    ?>
    Es wird keine neue URL ausgegeben

  8. #8
    TP-Veteran Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Guin ist ein richtiges Arbeitstier - DANKE Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.686
    Also erst mal musst du
    <a href="<?=new_url(
    oder
    <a href="<? echo new_url(
    machen. Du nutzt ja einen Rueckgabewert. Ansonsten musst du in der Funktion echo machen.


    In deinem Fall wuerde ich aber keine Funktion nutzen.
    Auch wenn webcreate schreibt, dass sie weniger Resourcen brauchen (im Vergleich zu?), sollte es ohne eine eigene Funktion schneller gehen.

    PHP-Code:
    <?php
    $arSearch 
    = Array('ä','ö','ü','ß','Ä','Ö','Ü',' ');
    $arReplace = Array('ae','oe','ue','ss','Ae','Oe','Ue','-');
    $arSearch2 = Array('--');
    $arReplace2 = Array('-');
    while (
    $row_test mysql_fetch_assoc($test)) {
    $html_url=$row_test['titel'].'-'.$row_test['label'].'_'.$row_test['id'];
    $html_url str_replace($arSearch$arReplace$html_url);
    $html_url ereg_replace("[^a-zA-Z0-9_-]"""$html_url);
    $html_url strtolower($html_url);
    $html_url str_replace($arSearch2$arReplace2$html_url);  ?>
    <a href="<?=$html_url?>">LINK</a><br><br>
    <?php }  ?>
    Geändert von Guin (15.01.2007 um 22:23 Uhr)

  9. #9
    TP-Supporter DenisCGN macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    403
    Ich werde das mit der Funktion nutzen, mit dem ECHO klappt es prima. und ich muss die Funktion nicht x-mal schreiben. Es kommen halt in einer Seite bis zu 3 Abfragen dieser Art vor.

    Ich danke Euch
    Denis

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51