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.

    Also ich weiß ja noch nicht ganz genau wie das jetzt mit dieser Variante aussieht, Aber es gibt ja eine Große Tabelle und in der großen Tabelle sind ja in den Einzelnen Zellen auch jeweils eine Tabelle,Ich hab die Erfahrung gemacht das wenn man eine Tabelle verlinkt, das dann nur die Objekte darin verlinkt werden, werden, nicht aber die zwischen räume, bei divs wird alles verlinkt.

    Edit: Hab jetzt nochmal die Aktuelle Fassung hochgeladen, Link ist der selbe.

    Beitrag zuletzt geändert: 20.7.2012 20:17:54 von jhb
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. So ich habe dir die Daten eingetragen in den Query, es fehlen nur noch der ref="/tag/datenbank">Datenbank- und Tabellenname und alles funktioniert auch.

    Die zu ändernden Werte sind in Programmzeile 26.

    Hier die Textdatei:
    http://vctb.lima-city.de/test.txt

    Beitrag zuletzt geändert: 20.7.2012 20:20:50 von vctb
  4. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Woohoo , Je jetzt klappt es danke euch allen!

    Woran hat es denn gelegen das er in Zeile 3 den Fehler angezeigt hat? lag es tatsächlich daran das ich die Daten Falsch eingetragen hab ?

    Und was bewirkt der Javascript, hab ihn mal zum testen raus genommen aber es hat sich nichts geändert.

    Beitrag zuletzt geändert: 20.7.2012 20:56:49 von jhb
  5. Keine Ahnung wo dran es lag ich habe den Programmcode einfach nur kopiert, habe die Daten geändert und es hat funktioniert... Also kann sein das Daten nicht gestimmt haben, verstehe aber nicht wieso dann in der Zeile. Bleibt wohl ein Mysterium :).

    Welches JavaScript? In dem Quellcode ist mir nur PHP, SQL und HTML aufgefallen, aber kann ich auch übersehen haben.

    Beitrag zuletzt geändert: 20.7.2012 23:46:50 von vctb
  6. vctb schrieb:
    Keine Ahnung wo dran es lag ich habe den Programmcode einfach nur kopiert, ... Hier die Textdatei:
    http://vctb.lima-city.de/test.txt
    woher hast du den kode kopiert? den sauberen habe ich hier oben reingetan.

    schön und gut. du kannst allerdings bei jedem phpkode am ende das '?>' weglassen! gewöhne dir das an. (ein guter progger ist ein fauler progger ;)


    jhb schrieb:
    ... Und was bewirkt der Javascript, hab ihn mal zum testen raus genommen aber es hat sich nichts geändert.
    irgendein scherzbolzen von bplaced.net hat es reingenagelt
    var m3_u = 'http://www.bplaced.net/pub/cssh.php';
    var m3_r = Math.floor(Math.random()*99999999999);
    if (!document.MAX_used) document.MAX_used = ',';
    document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
    document.write ("?zoneid=5");
    document.write ('&amp;cb=' + m3_r);
    if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
    document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
    document.write ("&amp;loc=" + escape(window.location));
    if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
    if (document.context) document.write ("&context=" + escape(document.context));
    if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
    document.write ("'><\/scr"+"ipt>");
    hau es erbarmungslor raus! und zwar unbedingt!

    ==== edit ====
    eigenartiges Script in der Seiteda steht dann:
    das ist das Script, das bei Square7 für die Werbeeinblendungen zuständig ist, also nicht anfassen
    also wir hier fassen das ganz bestimmt an und raus damit. keine werbung für Square7!!

    ==== edit2 ====
    yo mey! @jhb ist daran schuld ;) habe nochmals alles durchgelesen. er ist bei square7.ch! hier steht es klar!

    meine letzte meinung zu sowas: man sollte schleunigst den provider verlassen, wenn er in meinen kode reinschreibt! saubere sauerei ;))

    Beitrag zuletzt geändert: 21.7.2012 1:05:19 von czibere
  7. Autor dieses Themas

    jhb

    Kostenloser Webspace von jhb

    jhb hat kostenlosen Webspace.

    Ja ich lade bei sqare7 noch so allerhand allgemeine daten hoch weil ich dort im Gegensatz zu den anderen ebenfalls unbegrenzt Speicher habe, ist also quasi nur ein Filehoster für mich, aber das die auch in Hoch geladene Textdateien Werbung reinballern ist wirklich ne Sauerei.
  8. Ich hoffe mal, es ist noch nicht zu spät.
    Mir haben sich die Haare gekräuselt bei den Meinungen hier. :biggrin:

    Selbstverständlich gibt es sogenannte "Coding Standards".
    Und für PHP weichen sie wenn nur geringfügig bei den Leerzeichen ab.
    Aber es wäre schon wünschenswert für andere Beteiligte, wenn sie der Ersteller von Skripten an diese hält.
    Es erhöht ungemein die Lesbarkeit von Codes, damit sich auch Fremde in das Projekt einarbeiten können.

    Zu der Verwendung von "heredoc" kann ich nicht viel sagen.
    Was daran liegen mag, dass man es so gut wie kaum in Projekten antrifft.
    Daher würde ich dir als Anfänger raten, lass es lieber weg, da, wie schon zuvor erwähnt, eine sehr genaue schreibweise eingehalten werden muss, um nicht unnötig lange nach der Fehlerquelle zu suchen.
    Ok, "genaues" arbeiten ist Grundvoraussetzung, aber die Verwendung von "echo" oder "print" bei der Ausgabe ist bei weiten einfacher.

    Zum Design möchte ich dir dringendst davon abraten Tabellen, sprich "table", zu verwenden.
    Ich kann nur hoffen, dass das "table" Tag irgendwann einmal aus der HTML-Spezifikation raus fliegt.
    Alles was du mit Table erstellst, lässt sich besser mit CSS erreichen.
    Für den Anfang ist es ja noch verständlich Tables zu verwenden, aber die Verwendung wird nicht ohne Grund kritisiert.
    Aber bevor ich das noch weiter ausführe, suche einfach mal selber nach dem Unsinn, dass man Tables noch in HTML verwendet.
    Eine einfache und interessante Erklärung findest du z. B. hier:
    http://seybold.jan-andresen.de/

    So jetzt zum wichtigsten hier, warum du überhaupt deine Frage gestellt hast.
    Meine Lösung soll hier nicht als Maßstab gelten, aber ich hoffe mal, dass dir hier die Verwendung von CSS ohne Table evtl. leichter fällt.

    <?php 
    // configuration database
    $host = 'localhost';
    $user = 'testUser';
    $password = 'testPassword';
    $dbname = 'datenbankname';
    
    // configuration view
    $maxColumns = 2; // set the number of columns per row
    
    // connect with database
    $connection = mysql_connect($host, $user, $password)
        or die('Keine Verbindung möglich: ' . mysql_error());
    mysql_select_db('datenbankname') or die('Auswahl der DAtenbank fehlgeschlagen!');
    
    // create query
    $query = 'SELECT * FROM tabellenname';
    $result = mysql_query($query) or die('Anfrage fehlgeschlagen: ' . mysql_error());
    
    // create view
    $i = 0; // counter
    $content = '';
    $newRow = '';
    $tableWithCss = '';
    
    // check the result object for content
    if (mysql_num_rows($result) == 0) {
        echo "Keine Zeilen gefunden!";
        exit;
    }
    
    while ($row = mysql_fetch_assoc($result)) {
      // if the counter "i" has a rest of "0" then create a new row
      // solved with the modulo operator
      if ($i % $maxColumns === 0) {
        $newRow .= '<div class="row">' . $content . '</div>';
        $content = ''; // reset the content variable
      }
      
      $content .= '
        <div class="image">
          <p>' . $row['name'] . '</p>
          <img src="' . $row['image'] . '" />
          <p>' . $row['description'] . '</p>
        </div>
      ';
      $i++;
    }
    
    // the last rows wont' assign to "newRow", so we have to assign it manually
    $newRow .= '<div class="row">' . $content . '</div>';
    
    // create CSS and print the table
    ?>
    <style>
    .table { 
      display: table; 
      border-spacing: 4px; 
    } 
    .row { 
      display: table-row; 
    } 
    .image { 
      display: table-cell; 
      width: 240px; 
      background-color: #000; 
      border: 8px solid #000; 
      vertical-align: top; 
      text-align: center; 
    } 
    .image p { 
      color: #fff; 
      font-size: 85%; 
      text-align: left;
      padding-top: 8px;
    }
    </style>
    
    <?php
    // assign the fetched data
    $tableWithCss = '<div class="table">' . $newRow . '</div>';
    echo $tableWithCss;
    ?>
  9. Also Tabellen sollte man nicht für das layout nutzen, dafür sind sie nicht gemacht. Ganz anders sieht das für die Ausgabe von Daten aus. Ich habe noch nie gehört das dies kritisiert wird. Eine "Tabellenausgabe" über Div und CSS ist viel komplizierter und zeitintensiver als Tabellen. wenn du es nicht glaubst versuch mal eine 10x10 breite und hohe Divstruktur aufzubauen in der selben zeit wie eine Tabelle...

  10. yo mey! na dann der reihe nach:
    1.
    kgreen schrieb:
    Selbstverständlich gibt es sogenannte "Coding Standards". Und für PHP weichen sie wenn nur geringfügig bei den Leerzeichen ab. ... Es erhöht ungemein die Lesbarkeit von Codes, damit sich auch Fremde in das Projekt einarbeiten können.
    klar! da hast gleich ca. 620000 funde. nutze sie als vergleichsmaterial, dass du eine ahnung kriegst!
    damit sich auch Fremde in das Projekt ...
    *schmunzel*!!

    2.
    Zu der Verwendung von "heredoc" kann ich nicht viel sagen. ... Daher würde ich dir als Anfänger raten, lass es lieber weg, ...
    wenn du (auch) von heredoc keine ahnung hast, unterlasse es, anfängern ratschläge zu erteilen. um mal zu zeigen, dass heredoc nicht nur für textzuweisung gut ist, hier ein beispiel, mitten im heredok wird ein userfunktion mehrfach aufgerufen (und es ist trotzdem übersichtlich):
    heredoc beispiel (für nicht ganz anfänger):
    <?php
    // user function
    function power($int) {
      return pow(2, $int);
    }
    $f = get_defined_functions();
    foreach($f['user'] as $v) {
      $$v = $v;
    }
    
    // output
    $title  = 'potenzen (1 - 5):';
    exit(<<< EOT
    <!DOCTYPE html>
    <html>
      <head>
        <title>$title</title>
      </head>
      <body>
    
        <header>
          <h3>$title</h3>
        </header>
    
        <section id="table_pot">
          <table border="1" style="text-align:right;">
            <tr>
              <td>1</td>
              <td>2</td>
              <td>3</td>
              <td>4</td>
              <td>5</td>
            </tr>
            <tr style="color:#f00;">
              <td>{$power(1)}</td>
              <td>{$power(2)}</td>
              <td>{$power(3)}</td>
              <td>{$power(4)}</td>
              <td>{$power(5)}</td>
            </tr>
          </table>
        </section>
    
      </body>
    </html>
    EOT
    );
    er ist richtig eingerückt [auch der html-quellcode] und natürlich valides html5.
    ich bin außerdem nicht dazu gezwungen irrsinige ', " und \" o. \' kaskaden zu erzeugen so wie
    $var = "...
            <tr style=\"color:#f00;\">
              <td>" . $power(1) . "</td>
              <td>" . $power(2) . "</td>
              <td>" . $power(3) . "</td>
              <td>" . $power(4) . "</td>
              <td>" . $power(5) . "</td>
            </tr>
    ...";
    ja so ein mist aber auch ... das soll einfacher und übersichtlicher sein? ja bin ich auf der welt allein blind?

    3.
    Ok, "genaues" arbeiten ist Grundvoraussetzung, aber die Verwendung von "echo" oder "print" bei der Ausgabe ist bei weiten einfacher.
    du meinst, so genau wie du arbeitest? dein kode hier ist nicht einmal richtig eingerückt o. sonstwie formatiert! und so valid ist er ;)


    und nochmals: wenn mann kein spaghettikode-fanatiker ist, dann möchte man kein echo o. print verwenden (siehe kode unter 2.) und schon gar nicht zwischen html und php wild hin und her hüpfen wie ein liebestoller ziegenbock! man nehme php, um damit html zu generieren!

    4.
    Zum Design möchte ich dir dringendst davon abraten Tabellen, sprich "table", zu verwenden. Ich kann nur hoffen, dass das "table" Tag irgendwann einmal aus der HTML-Spezifikation raus fliegt.
    wie schon @vctb auch so treffend erkannte, er gibt tabellen aus und formatiert damit nicht!

    ... Mir haben sich die Haare gekräuselt bei den Meinungen hier. :biggrin:
    uns auch! wahrhaftig.
    wenn jemand den mund so voll nimt wie du, der sollte - wenn auch nur eine microarbeit - nur valides aus der hand geben.


    Beitrag zuletzt geändert: 23.7.2012 3:03:55 von czibere
  11. 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!