tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
19
ZUGRIFFE
457
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    Hallo,

    ich möchte mir auf meiner Homepage eine Newsübersicht ausgeben lassen.

    Das habe ich so gemacht:
    PHP-Code:
    <table width=80%" border="0">

    <?php
        $sel2 
    mysql_query("SELECT 
                        news.id, 
                        news.mannschaft,
                        titel, 
                        bericht,
                        intern_mannschaft.id, 
                        intern_mannschaft.mannschaft 
                        FROM
                        news
                        LEFT JOIN intern_mannschaft ON (intern_mannschaft.id=news.mannschaft)
                        ORDER BY 
                        news.id
                        DESC"
    )
                        or die (
    mysql_error());


        if(
    $p mysql_num_rows($sel2) > 0) {

            while(
    $row2 mysql_fetch_object($sel2)) {
            echo 
    "
    <tr>
    <td>
        <table border=\"0\">
        <tr>

            <td align=\"center\" >
                <b>"
    .$row2->mannschaft."</b>
                <br \>
                "
    .$row2->titel."
                <br \>
                <br \>
                "
    .$row2->bericht."
                <br \>
                <a href=\"index.php?move=18&id=
    $row2->id \">mehr...</a> 
            </td>
            
            <td align=\"center\" background=\"http://www.tutorials.de/forum/images/trennlinie3.gif\">&nbsp;</td>

            <td align=\"center\" >
                <b></b>
                <br \>
                
                <br \>
                
                <br \>
                <a href=\"\">mehr...</a> 
            </td>    
        </tr>
        </table>
    <tr>
                <td background=\"http://www.tutorials.de/forum/images/trennlinie2.gif\">&nbsp;</td>
    </tr>"
    ;
    }
        }
        else {
            echo 
    "Zurzeit befinden sich keine Newsdatensätze in der Datenbank";
        }

        
    ?>
    </table>
    Nun habe ich einige Probleme:

    - Mit dem Link "weiter" wird man auf die Ausgabeseite des Datensatzes gebracht. Die Datensatz ID möchte ich per URL übertragen. Das Problem ist nun, dass hinter "index.php?move=18&id=" nur die ID der mannschaft und nicht die ID des Datensatzes gehängt wird.

    - Ich möchte die Ausgabe des Berichts auf 100 Zeichen einschränken, wie mache ich das am besten

    - Die Newsübersicht soll in einer Tabelle ausgegeben werden. Die Tabelle soll folgender Maßen aussehen:

    Datensatz # Datensatz
    ###################
    Datensatz # Datensatz
    ###################

    Der zweite Datensatz soll hier ausgelesen werden:

    PHP-Code:
    <td align=\"center\" >
                <b></b>
                <br \>
                
                <br \>
                
                <br \>
                <a href=\"\">mehr...</a> 
            </td> 
    Leider habe ich keinen Schimmer wie man das am besten macht.

    Ich hoffe Ihr könnt mir helfen

    gruß
    Christian
     

  2. #2
    Admi Admi ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    330
    PHP-Code:
    <a href=\"index.php?move=18&id=".$row2->id."\">mehr...</a> 
    Auf Zeichen beschränken: substr() oder wordwrap()
     

  3. #3
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    Vielen Dank für deine schnelle Antwort

    Aber leider wird immer noch die ID der Mannschaft angehängt.

    Wie wird das substr() denn eingebunden Ich habe das mal so gemacht, aber so funktioniert es nicht.

    PHP-Code:
    <?php
        $sel2 
    mysql_query("SELECT 
                        news.id, 
                        news.mannschaft,
                        titel, 
                        substring( bericht, 0, 15 ) AS bericht,
                        intern_mannschaft.id, 
                        intern_mannschaft.mannschaft 
                        FROM
                        news
                        LEFT JOIN intern_mannschaft ON (intern_mannschaft.id=news.mannschaft)
                        ORDER BY 
                        news.id
                        DESC"
    )
                        or die (
    mysql_error());
    Geändert von dodge11 (23.07.06 um 17:07 Uhr)
     

  4. #4
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Du hast doch gar kein MySQL-Feld was id heißt oder seh ich das falsch? versuchs mal mit

    PHP-Code:
    <a href="index.php?move=18&id=".$row2->news.id."\">mehr...</a> 

    gruß soyo
     

  5. #5
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    so wird einfach nur das Wort id hinter id = gehängt
     

  6. #6
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Ich würd von vornherein schon MySql-Felder nicht so benennen, das Sonderzeichen enthalten sind. Damit wirst du immer wieder auf Probleme stoßen.

    Mich wundert es eh das nicht schon davor eine Fehlermeldung ausgegeben wird. Die ersten Anführungsstriche müssten auch escaped werden.
    Geändert von soyo (23.07.06 um 18:49 Uhr)
     

  7. #7
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    Das ist kein Sonderzeichen, sondern die Deffinition für den LEFT JOIN. Wenn ich nur id schreiben würde käme ein Fehler, denn durch den LEFT JOIN gibt es in zweites Feld id, allerdings in einer anderen Tabelle.
     

  8. #8
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    oh das hatte ich ganz übersehn :P
     

  9. #9
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Hallo,

    gib den entsprechenden Feldern am besten einen Alias:
    Code :
    1
    2
    3
    4
    
    SELECT 
        news.id AS news_id
        news.mannschaft AS news_mannschaft
    …
    PHP bezieht den Tabellennamen hier nicht mit ein, sodass gleichnamige Feldnamen sich gegenseitig überschreiben.

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  10. #10
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    Ah OK so gehts danke.

    Aber wie binde ich den substring richtig ein und wie mache ich das mit dem Auslesen der Datensätze nebeneinander
     

  11. #11
    Admi Admi ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    330
    Syntax:
    SUBSTRING(zeichenkette,pos,laenge)

    Angewandt:
    SUBSTRING(bericht,0,15) AS bericht

    würde die ersten 15 Zeichen des Feldes 'bericht' ausgeben

    Bei PHP geht das auch mit der Funktion substr(); Syntax ist gleich, obwohl es da auch andere Varianten noch gibt.
     

  12. #12
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    Ah OK . Das mit dem Substring funktioniert jetzt auch.

    Jetzt bleibt noch...

    wie lese ich die beiden Datensätze in der Tabelle nebeneinander aus.....

    Vielen Dank für eure schnelle Hilfe
    Geändert von dodge11 (23.07.06 um 20:58 Uhr)
     

  13. #13
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    hat keiner eine Idee, wie sowas realisierbar ist
     

  14. #14
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Versuche es mal so:
    PHP-Code:
    <table>
    <tr>
    <?php
    // Dein Querry.....
     
    $i=1;
    while(
    $row2 mysql_fetch_object($sel2)) {
         echo 
    "<td>".$row2->feldname."<td>";
         if(
    $i%2==0) {
              echo 
    "</tr><tr>";
         }
         
    $i++;
    }
    ?>
    </tr>
    </table>
    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  15. #15
    Avatar von dodge11
    dodge11 dodge11 ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    71
    So ich habe das mal gemacht und hab auch nen bisschen rumprobiert, aber irgendwie funktioniert das nicht recht.

    So siehts jetzt aus:

    PHP-Code:
    if($p mysql_num_rows($sel2) > 0) {
            
    $i 1;
            while(
    $row2 mysql_fetch_object($sel2)) {
            echo 
    "
    <tr>
    <td>
        <table border=\"0\">
        <tr>
            <td align=\"center\" background=\"images/trennlinie3.gif\">&nbsp;</td>
            
            <td align=\"center\" >
                <b>"
    .$row2->mannschaft."</b>
                <br \>
                "
    .$row2->titel."
                <br \>
                <br \>"
    ;
                
    $text $row2->bericht;
                echo 
    substr($text,0,50) ;
                echo 
    "
                <br \>
                <a href=\"index.php?move=18&id=
    $row2->news_id \">mehr...</a>  
            </td>
            
            <td align=\"center\" background=\"images/trennlinie3.gif\">&nbsp;</td>"
    ;

    if(
    $i%2==0) {
    echo 
    "
        </tr>
        </table>
    </td>
    </tr>
    <tr>
    <td background=\"images/trennlinie2.gif\">&nbsp;</td>
    </tr>
    <tr>
    <td>"
    ;
            }
            
    $i++;
            }
        
        
    }
        
        else {
            echo 
    "Zurzeit befinden sich keine Newsdatensätze in der Datenbank";
        }

        
    ?>
        
    </td>
    </tr>
        
    </table> 
    Zur Erklärung, trennlinie2.gif ist waagerecht und trennlinie3.gif ist senkrecht.

    So Soll die Tabelle aussehen:

    ###################
    #datensatz#datensatz#
    ###################
    #datensatz#datensatz#
    ###################

    So sieht sie jetzt aus:


    # # # # # # # # # # #datensatz#
    ##########################
    #datensatz#
    ##########################

    Die beiden Datensätze haben eine sehr große verschiebung untereinander, desweiteren wenn man im Quelltext schaut hat sich
    PHP-Code:
    </td>
    </
    tr>
    <
    tr>
    <
    td background=\"images/trennlinie2.gif\">&nbsp;</td>
    </tr> 
    in
    PHP-Code:
    <tr>
    <
    td align="center" background="images/trennlinie2.gif">&nbsp;</td>
    </
    tr>
        
    </
    td>
    </
    tr
    gedreht

    Ich hoffe ihr könnt mir helfen
     

Ähnliche Themen

  1. Captcha wird falsch ausgelesen
    Von as333 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 19.08.09, 00:52
  2. CSS-Datei wird nicht ausgelesen IE
    Von Arndtinho im Forum HTML & XHTML
    Antworten: 14
    Letzter Beitrag: 06.04.08, 09:58
  3. Zeit wird falsch ausgelesen
    Von Frank Snake im Forum PHP
    Antworten: 6
    Letzter Beitrag: 19.01.05, 21:37
  4. Sessionvariablen werden nicht ausgelesen!
    Von DrBrain_1000 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.10.02, 22:51