kostenloser Webspace werbefrei: lima-city


Datenbank Tabelle in besonderer Form ausgeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Hi,

    bin noch recht neu hier und hab schon gleich eine Frage.

    Ich habe eine Tabelle in einer Datenbank, und das ausgeben an sich ist auch kein Thema, ich möchte es aber etwas anders ausgeben als in einer Stumpfen Tabelle, ich versuche es mal zu verdeutlichen:

    Ein Datensatz soll in so eine "Minitabelle":
    Name
    Bild
    Text


    Und diese Minitabellen (MT) soll dann in eine Große Tabelle die etwa wie folgt aussehen soll:
    |MT|MT|MT|MT|MT|
    |MT|MT|MT|MT|MT|
    |MT|MT|MT|MT|MT|
    |MT|MT|MT|MT|MT|



    Diese Große Tabelle soll sich allerdings Automatisch in der Anzahl der Zeilen erweitern, je nachdem
    wie viele Datensätze vorhanden sind.
    Zudem soll die Tabelle Rekursiv aufgebaut sein, (Also der letzte Eintrag in der Datenbank soll oben links stehen).

    Das ganze bereitet mir seit ner weile ganz schönes Kopfzerbrechen, vielleicht könnt ihr mir hier ja weiter helfen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das kannst du per foreach Schleifen und intergrierter if-Schleife machen, wenn ich es richtig verstehe.

    Das würde so aussehen:

    $i = 1;

    $num = count($text);

    $rows = 5;

    $tabs = ($num / $rows);

    echo "<table>";
    foreach($text As $id=>$var) {
    $p = $i % $tabs;
    echo "<td><table><tr><td>" . $var['Name'] . "</td></tr><tr><td>" . $var['bild'] . "</td></tr><tr><td>" . $var['text'] . "</td></tr></table></td>";
    if($p == 0) {
    echo "</tr><tr>";
    }
    $i++;
    }
    echo "</table>";

    Das würde dann so aussehen.

    http://vctb.lima-city.de/images/table.png

    Beitrag zuletzt geändert: 18.7.2012 8:18:12 von vctb
  4. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Wow, danke schon mal,

    Ich bekomme noch eine Fehlermeldung die ich nicht wegbekomme:
    Warning: Invalid argument supplied for foreach()

    schätze das liegt an dem $id , wobei ich nicht genau weiß was der "Inhalt" ist bzw. sein sollte. den Rest habe ich schon soweit auf mein Script angepasst.
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Was hast du denn in “text“ stehen? Dass sollte ein Array sein...
    @vctb: jaja, die “if-Schleife“ ;-)
  6. ne bessere Lösung ist mir auf die Schnelle nicht eingefallen ;)

    Die foreach Variante mit der $text As $id=>$var Zuweisung nimmst du wenn du als Ausgangswert ein assoziatives Array hast. Was beim Auslesen aus einer Datenbank in der Regel der Fall ist.

    $id bekommt hier nicht das Datenfeld sondern den Feldnamen, denn kannst du dann z.B. als Tabellenüberschrift nehmen. Das Datenfeld wird an $var übergeben. Zum Fehler du kannst einfach deine Daten aus der Datenbank lesen und dann direkt durch die Schleife abarbeiten lassen.

    Beitrag zuletzt geändert: 17.7.2012 23:43:34 von vctb
  7. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Oh okay, ja jetzt geht es schon ein bisschen, es wird eine Tabelle mit einer Spalte ausgegeben mit folgendem Inhalt:

    7
    7
    7
    -
    2
    2
    2
    -
    L
    L
    L
    -
    L
    L
    L

    und ich bekomme ein Division by zero Error in der Zeile mit $p = $i % $tabs;

    Tut mir leid falls ich noch etwas Amateurhaft nachhake aber ich tuhe mich bei fremdem Code immer noch ziemlich schwer.
  8. t*************e

    wenn du es verschönern willst probiere es doch mit css oder verstehe ich das falsch?
  9. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Ja das ist auch soweit kein Problem, aber man kann die Datenbank nun mal nicht in Css statt php ausgeben.(oder doch ? ;-)) derzeit ist das Problem das er etwas durch 0 teilen will ich aber nicht genau weiß was, und das er Sachen in die "Minitabellen" schreibt die überhaupt nicht in der Datenbank sind (Die einzelnen zahlen und Buchstaben wie oben aufgelistet)
  10. jhb schrieb:
    Ja das ist auch soweit kein Problem, aber man kann die Datenbank nun mal nicht in Css statt php ausgeben.(oder doch ? ;-))

    In einer .php-Datei kannst du HTML und CSS ausführen.

    Beitrag zuletzt geändert: 18.7.2012 17:30:31 von webfreclan
  11. Dann versuch es mal damit, es ist direkt an eine Datenbank angelehnt:

    //Datenbankconnect Alle Werte anpassen
    $sql = mysql_connect('DB_HOST', 'DB_USER', 'DB_PASSWORD');
    $sql = mysql_select_db('DATENBANKNAME');
    // MySQL-Query Tabellenname anpassen
    $qrystring = ('SELECT * FROM Tabellenname');
    
    $sql = mysql_query($qrystring);
    //einfacher Zähler um die Durchläufe zu zählen
    $i = 1;
    
    // Anzahl der angezeigten Tabellenreihen
    $reihen = 3;
    
    // liesst aus wieviele Zeilen in der Datenbank liegen
    $db_zeilen = mysql_num_rows($sql);
    
    // Brechnung für die Tabellenanzeige
    $div = $db_zeilen / $reihen;
    
    echo '<table border="1"><tr>';
    
    // in der Schleife werden alle DB-Zeilen einzeln eingelesen und ausgegeben
    while ($var = mysql_fetch_array( $sql )) {
    
    // $var['name/bild/text'] musst du auf deine Tabellenspaltennamen ändern
      echo "<td>". $var['name'] . "</td>";
      echo "<td>". $var['bild'] . "</td>";
      echo "<td>". $var['text'] . "</td>";
    
    // Berechnung für die neue Tabellenzeile
      $p = $i % $div;
    
    // Tabellenzeile schließen und neu öffnen
      if($p == 0) {
    	echo '</tr><tr>';
      }
    
      $i++;
      }
    
    echo "</tr></table>";
     
    mysql_free_result( $sql );
    mysql_close($sql);


    Ich hoffe du kommst damit klar und es sind keine größeren Fehler darin...

    Gruß

    Beitrag zuletzt geändert: 19.7.2012 23:35:01 von vctb
  12. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Hmm also das Script funktioniert, danke für die mühe, aber es kommt jetzt wieder etwas vollkommen anderes raus, dort wird die Datenbank einfach nur in einer Tabelle ausgegeben. Das obere Script ist eher das was ich suche. Ich poste einfach mal was ich aus dem Oberen gemacht habe:

    $db_sel = mysql_select_db( $db )
       or die("Auswahl der Datenbank fehlgeschlagen");
     
    $sql = "SELECT * FROM projekte ORDER BY ID DESC";
     
    $db_erg = mysql_query( $sql );
    if ( ! $db_erg )
    {
      die('Ungültige Abfrage: ' . mysql_error());
    }
    
    $db = mysql_fetch_array( $db_erg, MYSQL_ASSOC);
     
     #
    
     $i = 1;
    
     $num = count($db);
    
    
     $rows = 5;
    
     $tabs = ($num / $rows);
    
     echo "<table border='0'>";
     foreach($db As $id=>$var) {
     $p = $i % $tabs;
     if($p == 1) {
     echo "<tr>";
     }
     echo "<td><a href=" . $db['link'] . "><table border='0' style='border:1px solid #000000;'><tr><td>" . $db['name'] . "</td></tr><tr><td><img src=" . $db['image'] . "></td></tr><tr><td>" . $db['description'] . "</td></tr></table></a></td>";
     if($p == 0) {
     echo "</tr>";
     }
     $i++;
     }
     echo "</table>";
     
     #


    Die Verbindungsdaten hab ich jetzt mal weggelassen. Und in der Tabelle befindet sich außerdem noch eine Spalte "ID" welche aber nicht mit ausgelesen werden soll.
  13. echo '<td><a href=" . $db['link'] . "><table>
    echo "<tr><td>" . $db['name'] .  "</td></tr>";
    echo "<tr><td>" . $db['image'] .  "</td></tr>";
    echo "<tr><td>" . $db['description'] . "</td></tr></table></a></td>";


    damit muss du den Teil in der while-Schleife ersetzen dann müsste es so aussehen wie vorher.

    Mit mysql_fetch_array liesst du meines Wissens nach immer nur eine Zeile der Datenbank aus. Mehrere Zeilen liesst du über
    mysql_fetch_all aus.

    Die Zeile:
    $db = mysql_fetch_array( $db_erg, MYSQL_ASSOC);


    sollte also so:
    $db = mysql_fetch_all( $db_erg, MYSQL_ASSOC);

    aussehen.

    Beitrag zuletzt geändert: 19.7.2012 23:34:40 von vctb
  14. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Hmm ja okay, jetzt habe ich eine Spalte aber es ist immer noch nicht das was es mal werden soll, der Screenshot den du in deiner erste Antwort hast, so ist es eigendlich genau so wie es soll. nur das ich eventuell 5 statt 4 Spalten im gesamt Ergebnis haben will, das sehe ich aber erst dann wenn ich es in die HP einbaue und ich sinnvollen Content habe.

    und mysql_fetch_all gibt es meines Wissens nach gar nicht, hab da auch sogut wie gar nichts zu gefunden.
    mysql_fetch_array sollte eigendlich die ganze Tabelle in ein Array packen, hat es jedenfalls bis jetzt immer.
  15. Bei dem Code kommt bei mir eine Tabelle wie aus meinem ersten Beispiel raus...

    echo '<table border="1"><tr>';
    while ($db = mysql_fetch_array( $sql )) {
    	echo '<td><a href="' . $db['link'] .  '"><table>';
    	echo "<tr><td>" . $db['name'] . "</td></tr>";
    	echo "<tr><td>" . $db['image'] . "</td></tr>";
    	echo "<tr><td>" . $db['description'] . "</td></tr></table></a></td>"; 
      $p = $i % $div;
      if($p == 0) {
    	echo '</tr><tr>';
      }
      $i++;
      
    
    }
    echo "</table>";


    Mit der Funktion mysql hab ich schon ewig nicht mehr gearbeitet, da müsste ich erstmal nen drüber grübeln.

    Beitrag zuletzt geändert: 18.7.2012 19:01:38 von vctb
  16. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Also bei mir sieht das so aus:

    http://emil-online.square7.ch/Sonstiges/tabelle.png

    Beitrag zuletzt geändert: 18.7.2012 19:32:44 von jhb
  17. So der nächste Versuch :)....
    $n++;
    
    while ($db = mysql_fetch_array( $sql )) {
    	$db_1[$n] = $db;
    	$n++;
    }
    echo "<table border='0'>";
    
     foreach($db_1 As $id=>$var) {
     $p = $i % $div;
     if($p == 1) {
     echo "<tr>";
     }
     echo "<td><a href=" . $var['link'] . "><table border='0' style='border:1px solid #000000;'><tr><td>" . $var['name'] . "</td></tr><tr><td><img src=" . $var['image'] . "></td></tr><tr><td>" . $var['description'] . "</td></tr></table></a></td>";
     if($p == 0) {
     echo "</tr>";
     }
     $i++;
     }


    ich habe keine Lösung ohne while-Schleife gefunden, deshalb nun die obige Lösung herausbekommen.

    Du musst das mysql_fetch_array nur durch die while Schleife laufen lassen und bekommst dort ein neues array $db_1[].
    Dieses übergibst du dann an die foreach-Schleife und lässt es dort verarbeiten.

    Beitrag zuletzt geändert: 18.7.2012 21:01:51 von vctb
  18. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Hmm tut mir leid aber da kommt immer noch das selbe Ergebnis raus. Ich kann zwar die Var. reihen anpassen so das es von der Form her stimmt, aber sobald ich neue Datensätze einfüge verschiebt sich das ganze.

    Man müsste vielleicht versuchen das php den wert bei der Var. reihen selbst berechnet.
  19. Gib der inneren Tabelle
    ...<table border='0' style='border:1px solid #000000; width: 125px;'>...


    mal eine Breite durch z.B. width: 125px; das liegt sicher an der Formatierung der Tabelle.



    Beitrag zuletzt geändert: 19.7.2012 23:35:48 von vctb
  20. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Hmm,
    also das hat jetzt auch nicht so viel gebracht es sind jetzt 2 Spalten (wenn ich reihen auf 5 lasse) kann aber auch daran liegen das ein paar mehr Datensätze dazu gekommen sind.
  21. jhb schrieb:
    Hmm,
    also das hat jetzt auch nicht so viel gebracht es sind jetzt 2 Spalten (wenn ich reihen auf 5 lasse) kann aber auch daran liegen das ein paar mehr Datensätze dazu gekommen sind.
    yo mey! wie wärs einfach einfacher ;)
    <?php
    
    error_reporting(E_ALL | E_STRICT);
    
    // ---- connect ----------------------------------------------------------------
    $conn = ($c = mysql_connect('mysql.lima-city.de', 'USERxxxxxx', ';) ;) ;)')) ?
      $c:
      sql_error(__LINE__);
    
    // ---- query ------------------------------------------------------------------
    $q = <<< EOT
    select concat('<td>',
                  <col_1>,
                  '<br />',
                  <col_2>,
                  '<br />',
                  <col_3>,
                  '</td>')
    from <db_name>.<table_name>
    EOT;
    $r = ($r = mysql_query($q)) ?
      $r:
      sql_error(__LINE__);
    
    
    // ---- get resultset into php-var ---------------------------------------------
    $count = 0;
    $cols  = 4; // number of cols
    $res   = "<table border=\"1\"><br />\n";
    while($row = mysql_fetch_assoc($r)) {
      $res .= (($cc = $count % $cols) === 0) ? '<tr>': '';
      foreach($row as $k => $v) {$res .= "$v";}
      $res .= (($count % $cols) === ($cols - 1)) ? '</tr>': '';
      $res .= "\n";
      $count++;
    }
    $res .= "\n</table>";
    
    // ---- show site --------------------------------------------------------------
    exit(<<< EOT
    <!DOCTYPE html>
    <html>
      <head>
        <title>table view</title>
      </head>
      <body>
    
        <header>
          <h3>table view</h3>
        </header>
    
        <section>
    $res
        </section>
    
      </body>
    </html>
    EOT
    );
    
    
    
    
    // ---- sqlerror() -------------------------------------------------------------
    function sql_error($l) {
      $res = print_r(array("<strong>mysql_error in line $l</strong>", mysql_errno(), mysql_error()), true);
      exit(<<< EOT
    <!DOCTYPE html>
    <html>
      <head>
        <title>mysql_error</title>
      </head>
      <body>
        <header>
          <h3>mysql_error</h3>
        </header>
        <section>
          <pre>
    $res
          </pre>
        </section>
      </body>
    </html>
    EOT
    );
    }
    editieren musst du allerdings die zeile 6 (no klar ;) und die ganze query (wobei sowas wie '<col_1>' steht dann natürlich ohne eckigen klammern! wiederum '<td>', '<br />' und '</td>' mit eckigen klammern, weil ich ja die spalten vom sql server generieren lasse! ;)
    und das ganze sieht dann so aus (eine 5-spaltige variante [siehe $cols in zeile 28]).
  22. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Danke dafür, allerdings find ich persönlich den Code deutlich verwirrender, ist aber nicht weiter schlimm, ich hab mal wieder das Problem das ich mit Fehlermeldungen bombardiert werde die auf mich keinen Sinn ergeben,

    Parse error: syntax error, unexpected T_STRING in Zeile 3, hab ich dann mal raus genommen, da war der Fehler immer noch in Zeile 3, hab dann einen Absatz raus genommen da war der Fehler dann in Zeile 5.
  23. jhb schrieb:
    Danke dafür, allerdings find ich persönlich den Code deutlich verwirrender, ist aber nicht weiter schlimm, ich hab mal wieder das Problem das ich mit Fehlermeldungen bombardiert werde die auf mich keinen Sinn ergeben,

    Parse error: syntax error, unexpected T_STRING in Zeile 3, hab ich dann mal raus genommen, da war der Fehler immer noch in Zeile 3, hab dann einen Absatz raus genommen da war der Fehler dann in Zeile 5.
    in zeile 3 kann die besagte meldung nur dann kommen, wenn du den kode geändert hast. zeig deine version und dan sehen wir mal weiter.
    nebenbei: der kode ist kristall klar strukturiert ;) was findest daren verwirrend?

    Beitrag zuletzt geändert: 19.7.2012 14:43:53 von czibere
  24. Naja deine Art zu Programmieren kann man nicht als Standard bezeichnen.

    Durch den Einsatz von ? anstatt if oder <<< EOT anstatt echo leidet sehr die Lesbarkeit. Du solltest davon ausgehen das hier Anfänger am basteln sind. Dehalb sollte man auch einen Code aus meiner Sicht, nicht nur jemanden vor den Latz knallen, sondern auch ein paar Erklärungen beifügen. Fass das nicht lass Beleidigung auf, es soll nur ein Denkanstoß sein.


    Beitrag zuletzt geändert: 19.7.2012 15:42:18 von vctb
  25. vctb schrieb:
    Naja deine Art zu Programmieren kann man nicht als Standard bezeichnen.
    du schmeichelst mich direkt ;)
    Durch den Einsatz von ? anstatt if oder <<< EOT anstatt echo leidet sehr die Lesbarkeit.
    so '?' (kurzschreibweise fon 'if ... else ...') wie '<<<' (heredoc) gehören zu php standard (apropo, definiere standard).
    Du solltest davon ausgehen das hier Anfänger am basteln sind. Dehalb sollte man auch einen Code aus meiner Sicht, nicht nur jemanden vor den Latz knallen, sondern auch ein paar Erklärungen beifügen.
    ok. ich verchuche es kurz:
    1. '?' ist oft (nicht immer [warum?]) praktischer als 'if ... else ...'. im obigen beispiel gibt mysql_connect je nach ergebnis false oder #resource zurück. der rest sollte selbstredend sein. (ich teste alle mysql_... (aber andere dinge auch), die ergebnis oder false zurückgeben können auf diese art. es ist schon fast ein debuger. für geplagte progger ein segen, wenn etwas daneben geht, landest automatisch mit abbruch in der erklärung des fehlers + zeilenangabe. schöner könnte es kaum sein ;)
    2. heredoc ist praktisch weil - wie du im oberen beispiel sehen kannst - ganz schnell und ohne viel ', " und " . " ... 'vorformatierte'(!) texte auch gleich mit wariablen-inhalte aufnehmen kann. außerdem die geschwindigkeit gegenüber 'etwas in die variable, echo <variable>' ist geradeaus atemberaubend. also ganz schön resource-schonend.
    nebenbei: ich gebe nie und nirgendst in meinen php seiten irgendwas mit echo aus. echo mal da mal dort ist der beste weg zum spaghetti-code. das schlimmse ist allerdings zwischen html und php zu wechseln - echt spaghetti. ich fasse php so auf, dass es mir über den webserver html generiert! und weder umgekehrt noch gemischt. (es geht einiges richtung klarheit. html wird durch css vom style bereinigt &c.)
    3. ich strukturiere meine php-codes so, dass ich der reihe nach alle aufgaben erledige, die ergebnisse in (möglichst) eine einzige variable (wie im beispiel oben in $res [als result]) kumulativ abspeichere, füge in die seite ein (da kommt wieder heredoc) und vertschüse ich mich mit einem exit (was mir ja in einem ruck die ganze - noch so komplizierte seite - ausgibt und beendet sauber das ganze brimborium).

    Fass das nicht lass Beleidigung auf, es soll nur ein Denkanstoß sein.
    ich bin schwer zu beleidigen und denkanstöße sind immer gut ;)

    Beitrag zuletzt geändert: 19.7.2012 16:36:33 von czibere
  26. Als Standard würde ich den Programmierkodex für sauberes Programmieren ansehen.

    Ich kann zumindest verstehen wenn man die ? Anweisung verwendet, da sie viel Tiparbeit spart. Heredoc kann ich aber nichts abverlangen, da ich sie vollkommen unlesbar und als fehleranfälliger erachte zudem ist echo" "; kürzer und hat das selbe Ergebnis. Liegt aber wohl daran, dass ich sie auch noch nie benutzt habe.

    Beitrag zuletzt geändert: 19.7.2012 17:09:14 von vctb
  27. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Naja ich habe eigendlich nix geändert, bloß den Pfad in "Localhost" Nutzer in "root" und im query dann Datenbankname und Tabellenname angegeben.

    Mehr hab ich nicht geändert, hab es wahrscheinlich irgendwie falsch gemacht deshalb hier mal der Code:

    <?php
     
    error_reporting(E_ALL | E_STRICT);
     
    // ---- connect ----------------------------------------------------------------
    $conn = ($c = mysql_connect('localhost', 'root', ';) ;) ;)')) ?
      $c:
      sql_error(__LINE__);
     
    // ---- query ------------------------------------------------------------------
    $q = <<< EOT
    select concat('<td>',
                  <col_1>,
                  '<br />',
                  <col_2>,
                  '<br />',
                  <col_3>,
                  '</td>')
    from <homepage>.<projekte>
    EOT;
    $r = ($r = mysql_query($q)) ?
      $r:
      sql_error(__LINE__);
     
     
    // ---- get resultset into php-var ---------------------------------------------
    $count = 0;
    $cols  = 4; // number of cols
    $res   = "<table border=\"1\"><br />\n";
    while($row = mysql_fetch_assoc($r)) {
      $res .= (($cc = $count % $cols) === 0) ? '<tr>': '';
      foreach($row as $k => $v) {$res .= "$v";}
      $res .= (($count % $cols) === ($cols - 1)) ? '</tr>': '';
      $res .= "\n";
      $count++;
    }
    $res .= "\n</table>";
     
    // ---- show site --------------------------------------------------------------
    exit(<<< EOT
    <!DOCTYPE html>
    <html>
      <head>
        <title>table view</title>
      </head>
      <body>
     
        <header>
          <h3>table view</h3>
        </header>
     
        <section>
    $res
        </section>
     
      </body>
    </html>
    EOT
    );
     
     
     
     
    // ---- sqlerror() -------------------------------------------------------------
    function sql_error($l) {
      $res = print_r(array("<strong>mysql_error in line $l</strong>", mysql_errno(), mysql_error()), true);
      exit(<<< EOT
    <!DOCTYPE html>
    <html>
      <head>
        <title>mysql_error</title>
      </head>
      <body>
        <header>
          <h3>mysql_error</h3>
        </header>
        <section>
          <pre>
    $res
          </pre>
        </section>
      </body>
    </html>
    EOT
    );
    }


  28. $conn = ($c = mysql_connect('localhost', 'root', ';) ;) ;)'))

    In dem Teil mit
    ';) ;) ;)'  <-------- dort das SQL-Passwort
    also nach 
    'root',

    musst du dein Passwort einfügen.

    Mir fällt gerade auf die query mit Concat ist wirklich eine nette Sache, so hab ich die Funktion noch nie benutzt. Wäre ich auch nie drauf gekommen.

    Beitrag zuletzt geändert: 19.7.2012 20:19:01 von vctb
  29. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Naja, die Lokale Datenbank von Xampp hat kein Passwort, und bei mir hat es immer funktioniert wenn ich es einfach weggelassen habe, wenn ich es so ändere das dort kein "leerer Bereich" mehr ist also sprich die Entsprechenden Zeichen entferne ändert das auch nichts,
  30. jhb schrieb:
    Naja, die Lokale Datenbank von Xampp hat kein Passwort, und bei mir hat es immer funktioniert wenn ich es einfach weggelassen habe, wenn ich es so ändere das dort kein "leerer Bereich" mehr ist also sprich die Entsprechenden Zeichen entferne ändert das auch nichts,
    du hast grobe mängel an deiner editierarbeit!

    richtig heißt die zeile
    $conn = ($c = mysql_connect('localhost', 'root', '')) ?
    und daran ist nichts zu diskutieren (ich hoffte, du übersiehst meinen groben unfug nicht ;). ich würde es aber nicht dabei belassen! lese nach, wie du root einen ordentlichen passwd verpassen kanst!

    was noch zu ersetzen ist im query
    <col_1>, <col_2>, <col_3>. das sind die spaltennamen, die du abfragst.

    außerdem hatte ich 2 flüchtigkeitsfehler eingebaut: <homepage>.<projekte>. also die query sollte eher so aussehen:
    select concat('<td>',
                  <col_1>,
                  '<br />',
                  <col_2>,
                  '<br />',
                  <col_3>,
                  '</td>')
    from <db_name>.<table_name>
    und natürlich <db_name> und <table_name> müssen an deine situation angepasst - sprich - überschrieben werden.


    vctb schrieb:
    Als Standard würde ich den Programmierkodex für sauberes Programmieren ansehen.

    Ich kann zumindest verstehen wenn man die ? Anweisung verwendet, da sie viel Tiparbeit spart. Heredoc kann ich aber nichts abverlangen, da ich sie vollkommen unlesbar und als fehleranfälliger erachte zudem ist echo" "; kürzer und hat das selbe Ergebnis. Liegt aber wohl daran, dass ich sie auch noch nie benutzt habe.
    'Programmierkodex für sauberes Programmieren' hat schon aus dem grund keine globale gültigkeit, weil es von dem zeug etliche gibt (sogar allein für php auch). daher sollte man statt kodex kodices sagen (was ja an der sache nichts ändert ;).

    vctb schrieb:
    ... Mir fällt gerade auf die query mit Concat ist wirklich eine nette Sache, so hab ich die Funktion noch nie benutzt. Wäre ich auch nie drauf gekommen.
    löbliche tendenz! (siehe vorige worte von dir) flexibilität ist wichtiger für einen progger als starre kodices ;)

    kodices haben auf eine saubere arbeit nur bedingt eine einwirkung. sie werden kreiert, dass eine gruppe von progger eine arbeit einheitlich anfertigen kann (sonst kennt sich kein aas mehr aus, was wo ist und warum). saubere arbeit braucht viel mehr viel erfahrung und ordentliche progstrukturen.
  31. Das stimmt aber man eignet sich natürlich selber marotten an (auf mich bezogen), die will man eigentlich nicht groß ändern. Ich habe kein Problem damit wenn jemand in einem anderen Stil programmiert. Ich sehe es halt aus der Sicht des Anfängers, da sind unkonventionellere Programmierstile teilweise schwer zu verstehen.
    Das mit den Kodexen oder wie auch immer ist mir klar :), aber die meisten haben doch parallele Ansätze.

    PS: ich hoffe es ist diesmal nicht negativ rüber gekommen, sollte es vorher auch nicht.

    Wenn du mein Beispiel mit einer festen Breite für die Tabellen angibst müsste es ungefähr so aussehen.

    http://vctb.lima-city.de/images/tabellen.png

    Beitrag zuletzt geändert: 19.7.2012 23:38:10 von vctb
  32. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!