Anzeige

links in mysql db ?!?!

links in mysql db ?!?! | PSD-Tutorials.de

Erstellt von Blade, 17.11.2005.

  1. Blade

    Blade Nicht mehr ganz neu hier

    Dabei seit:
    16.11.2005
    Beiträge:
    85
    Geschlecht:
    männlich
    Software:
    Photoshop
    links in mysql db ?!?!
    ich würd gern meine links in einer mysql db speichern, ich weiß nur net ob des geht bzw wie es geht, hab schon ne ganze weile rumprobiert und nachgelesen, aber nichts gefunden.

    die datenbank sieht so aus:

    name der db: hyperlinks

    name | link
    home | /index.php
    sontiges | /sonstiges.php

    usw.

    und dann halt die links auslesen, wie muss ich des machen?

    meine idee war:
    Code (Text):
    1.  
    2. <?php
    3.    mysql_connect("localhost","name","passwort");
    4.    mysql_select_db("datenbank");
    5.  
    6.    $res = mysql_query("select link from hyperlinks");
    7.    $dsatz = mysql_fetch_assoc($res);
    8.  
    9. [url="$dsatz["][img]002/003_03.jpg[/img][/url]</td>
    10.  
    11. ?>
    12.  
    des funktioniert aber leider net...
    danke schon mal für die hilfe!
     
    #1      
  2. HoLgAy

    HoLgAy Nicht mehr ganz neu hier

    Dabei seit:
    12.03.2005
    Beiträge:
    58
    Geschlecht:
    männlich
    Ort:
    Aachen
    links in mysql db ?!?!
    Du hast einen leichten Denkfehler in deinem Quellcode. Du musst ja davon ausgehen, dass mehrere Links in deiner Datenbank drin sind. Und was du da tust gibt dir nur genau 1 Datensatz zurück.
    Also solltest du mit einer Schleife arbeiten.

    Versuch mal folgendes:
    Ich hoffe, dir damit weitergeholfen zu haben.

    Falls noch fragen sind, weisst du ja wo du mich/uns findest ;)

    greetZ

    HoLgAy
     
    #2      
  3. Blade

    Blade Nicht mehr ganz neu hier

    Dabei seit:
    16.11.2005
    Beiträge:
    85
    Geschlecht:
    männlich
    Software:
    Photoshop
    links in mysql db ?!?!
    aber so hab ich ja nur ne liste mit allen links hintereinander,
    wie kann ich des machen, dass ich nur einen bestimmten bekomm?
    z.b. den link zu sonstiges?

    des kann ich ja dann so nicht machen, oder hab ich schon wieder nen denkfehler drin? :)
     
    #3      
  4. Checker

    Checker Noch nicht viel geschrieben

    Dabei seit:
    17.07.2005
    Beiträge:
    23
    Geschlecht:
    männlich
    links in mysql db ?!?!
    hi ich würde deine Datenbank anders aufbauen:

    ID | name | link
    -------------------------
    1 |home | home.php
    --------------------------
    2 | news | news.php



    Code (Text):
    1.  
    2. <?php
    3.    mysql_connect("localhost","name","passwort");
    4.    mysql_select_db("datenbank");
    5.  
    6. function get_link($id){
    7.  
    8. $sql = mysql_query("select link from hyperlinks where ID='$id'");
    9. $res = mysql_fetch_array("$sql");
    10.  
    11. $sql2 = mysql_query("select name from hyperlinks where ID='$id'");
    12. $res2 = mysql_fetch_array("$sql2");
    13.  
    14. $name="sql2['name']";
    15. $link="sql['link']";
    16.  
    17. echo'<td>[url="$link"]$name[/url]</td>';};
    18.  
    19.  
    20. echo"<table>";
    21. $i = 0;
    22. while($i <= 10) // die zahl hier in der schleife musst du so setzten wieviele {                         links du in der tabelle hast!
    23. $i++;
    24. get_link($i);
    25. };
    26. echo</table>;
    27. ?>
    28.  
    29.  
    So kleine Erklärung: als erstes wird eine Function festgelegt get_link, in den klammern musst du die id des links eintragen, worauf die function automatisch den link und name ausgibt.

    danach machst du eine Schleife die solange läuft bis alle links ausgegeben wurden dazu musst du dem Script sagen wie viele Links du hast, also an der besagten stelle einfügen, darauf wird die variable i um ein erhöht die function holt den link mit id 1 und so weiter bis die von dir deffinierte Grenze erreicht wird.

    Noch Fragen?

    Grüße Checker
     
    #4      
  5. Blade

    Blade Nicht mehr ganz neu hier

    Dabei seit:
    16.11.2005
    Beiträge:
    85
    Geschlecht:
    männlich
    Software:
    Photoshop
    links in mysql db ?!?!
    also was du meinst hab ich verstanden und klingt au logisch, aaaaaaaaber :)
    ich bekomm ne fehlermeldung.
    Und zwar passt die Zeile: $res = mysql_fetch_array("$sql");
    irgendwie net.
    Meldung:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/virtual/u-tache.de/htdocs/test.php on line 8

    :? ???
     
    #5      
  6. HoLgAy

    HoLgAy Nicht mehr ganz neu hier

    Dabei seit:
    12.03.2005
    Beiträge:
    58
    Geschlecht:
    männlich
    Ort:
    Aachen
    links in mysql db ?!?!
    Wenn du nur bestimmte haben willst solltest du mit iD´s arbeiten - richtig ...

    in der Zeile, die nicht funktioniert schreibst du das $sql in Klammern am besten ohne "". Denn so wird es als Text erkannt und nicht mehr als Variable.
     
    #6      
  7. Checker

    Checker Noch nicht viel geschrieben

    Dabei seit:
    17.07.2005
    Beiträge:
    23
    Geschlecht:
    männlich
    links in mysql db ?!?!
    sry ganz simpler fehler achja wiso nicht als variable, das muss als variable erkannt werden sonst geht garnix, so lautet die Zeile richtig:

    Code (Text):
    1.  
    2. $res = "mysql_fetch_array('$sql')";
    3.  
    müsste dann gehen hoffe ich ;-)
     
    #7      
  8. 10c

    10c Unscharfe Maske

    Dabei seit:
    05.10.2005
    Beiträge:
    253
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Kameratyp:
    Pentax K100D
    links in mysql db ?!?!
    Nein. Auch das wird nicht funktionieren. (-;
    So wäre es richtig:
    Code (Text):
    1.  
    2. $res = mysql_fetch_array($sql);
    3.  
    Warum verwendet die Funktion "get_link" eigentlich zwei SQL Queries? (-;

    Außerdem würde ich den Tabellenanteil aus der Funktion entfernen. Dann kannst du die Funktion nämlich auch außerhalb einer Tabelle prima nutzen...

    Code (Text):
    1.  
    2. function get_link($id)
    3. {
    4.     if (empty($id))
    5.         return;
    6.  
    7.     $result = mysql_query('SELECT name, link FROM hyperlinks WHERE id = ' . $id)
    8.         or die(mysql_error());
    9.    
    10.     if (!mysql_num_rows($result))
    11.         return;
    12.  
    13.     $obj = mysql_fetch_object($result);
    14.  
    15.     return sprintf('[url="%s"]%s[/url]', $obj->link, $obj->name, $obj->name);
    16. }
    17.  
    18.  
    19. echo '<table>';
    20. for ($i = 1; $i <= 5; $i++)
    21.     echo sprintf('<tr><td>%s</td></tr>', get_link($i));
    22. echo '</table>';
    23.  

    10c :)
     
    #8      
  9. Tim

    Tim Hutträger

    Dabei seit:
    27.08.2005
    Beiträge:
    2.884
    Geschlecht:
    männlich
    Ort:
    Fellbach
    links in mysql db ?!?!
    @10c

    DU könntest doch mal paar Tuts für die PHP-Abteilung hier schreiben, oder? Scheinst darin ja nicht schlecht bewandert zu sein :D
     
    #9      
  10. Blade

    Blade Nicht mehr ganz neu hier

    Dabei seit:
    16.11.2005
    Beiträge:
    85
    Geschlecht:
    männlich
    Software:
    Photoshop
    links in mysql db ?!?!
    jo da wär ich auch mal dafür :)

    auf jeden fall mal danke an euch alle, für eure hilfe, ich hab inzwischen ne lösung gefunden...

    Greetz

    B|_ade
     
    #10      
  11. Checker

    Checker Noch nicht viel geschrieben

    Dabei seit:
    17.07.2005
    Beiträge:
    23
    Geschlecht:
    männlich
    links in mysql db ?!?!
    stimmt ist mir garnich aufgefallen oO is ja arry holen da braucht man ja blo eins^^
     
    #11      
x
×
×