Autor Zpráva
Lasomot
Profil *
Dobrý den, mám vytvořenej skrip:

<?php

// spojení s databází
require ("opendb.php");
$data = mysql_query("SELECT * FROM gramatika");

    echo "<div class=\"row-fluid\">"; 
  while($gramatika=mysql_fetch_array($data)){
    //postupné načtení a výpis všech záznamů pomocí cyklu     
    echo "<div class=\"box span4\">";
    echo "<div class=\"box-header\">";
    echo "<h2>"."lekce ".$gramatika["id"]."</h2>";
    echo "</div>";
    echo "<div class=\"box-content\">";
    echo "<div class=\"alert alert-info\">".$gramatika["nadpis"]."</div>";
    echo "<p>".$gramatika["obsah"]."</p>";
    echo "</div>";
    echo "</div>";
  }
    echo "</div>";
?>  

potřeboval bych nějak napsat, aby vždy, když článek se vypiše třikrát, aby se to celé obalilo echo "<div class=\"row-fluid\">"; .
Fisir
Profil
Založ si proměnnou i, po každém provedení cyklu přičti jedna a kontroluj, zda je proměnná i dělitelná třemi beze zbytku.
Lasomot
Profil *
Zkusil jsem napsat tohe:

<?php
// spojení s databází
require ("opendb.php");
$data = mysql_query("SELECT * FROM gramatika"); 
$c = 0;

    $b = ((++$c % 3 == 0) ? true : false);
    if ($b) echo '<div class="row-fluid">';   

  while($gramatika=mysql_fetch_array($data)){
    //postupné načtení a výpis všech záznamů pomocí cyklu     
    echo "<div class=\"box span4\">";
    echo "<div class=\"box-header\">";
    echo "<h2>"."lekce ".$gramatika["id"]."</h2>";
    echo "</div>";
    echo "<div class=\"box-content\">";
    echo "<div class=\"alert alert-info\">".$gramatika["nadpis"]."</div>";
    echo "<p>".$gramatika["obsah"]."</p>";
    echo "</div>";
    echo "</div>";    
  }  
  if ($b) echo '</div>';  
?>    

Podle mého logického úsudku by mě být dobře, ale nic to nevypisuje... proč? :D
juriad
Profil
Protože to musíš mít v tom cyklu while.
Lasomot
Profil *
Už to funguje, díky moc... Teď mi nejdou zalomit správně řádky. Vypíše se mi to jako jedna dlouhá lajna textu.
Kubo2
Profil
Lasomot:
Použi escape sekvenciu pre line feed \n. Ale daj si pozor, dá sa to použiť len v dvojitých úvodzovkách, keď to dáš do apostrofov, vypíše ti to ako text.
<?
// vypíše:
// nový
// riadok
echo "nový\nriadok";

// vypíše
// nový\nriadok
echo 'nový\nriadok';
Ďaľšia možnosť je využiť konštantu PHP_EOL.
Lasomot
Profil *
Kubo2:
Já mám ale text z databáze... tkz se mi vypíše proměná. escapování mi tady nefunguje. :(
Kubo2
Profil
Lasomot:
Moje nervy, to je také ťažké napísať:
echo "<div>$gramatika[nadpis]</div>\n";
?
Lasomot
Profil *
Kubo2:
Nic to nědělá.
juriad
Profil
Něco ti nahrazuje mezery za &nbsp; - nedělitelnou mezeru. Prohlížeč tedy odmítne zalomit text; nepřesvědčíš ho k tomu.
Zjisti si, kde se ti tam ty nezalomitelné mezery berou a zabraň jejich tvorbě/vkládání.
Lasomot
Profil *
Skvělý, díky moc. Vypadá to, že nedělitelnou mezeru to dělalo vždy, když jsem kopíroval z google drive. Zajímavý. Ještě jednou díky juriad, za zodpovězení otázek od začínajícího programátora.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: