Autor Zpráva
jirivo
Profil *
Potřebuji poradit. Když v PHP vyvolám funkci, nebo nějaký příkaz tak se mi v prohlížeči vytvoří prázdný řádek na místě, kde je v kódu ta určitá funkce nebo příkaz. A tohle mě právě vadí když třeba použiji podmínku while, kde vyvolám funkci na omezení znaků výsledku z databáze a když je v databázi třeba 10 záznamů, tak se mi před jejich výpisem vytvoří 10 prázdných řádků. Existuje nějaké řešení, které by vytváření těchto řádků zabránilo ?
Děkuji za odpovědi
panther
Profil
jirivo
Existuje nějaké řešení, které by vytváření těchto řádků zabránilo ?
mě by spíš zajímalo, co s tím děláš, že tam máš prázdné řádky ;-)
jirivo
Profil *
Tady je kód:

 <?php 

DEFINE ('DB_UZIVATEL', 'uzivatel');
DEFINE ('DB_HESLO', 'heslo');
DEFINE ('DB_HOSTITEL', 'hostitel');
DEFINE ('DB_NAZEVDATABAZE', 'databaze');


$dbc = mysql_connect (DB_HOSTITEL, DB_UZIVATEL, DB_HESLO);
mysql_select_db (DB_NAZEVDATABAZE);

function substr_word_count($text, $word_count) {	$return_text = "";	$text = explode(" ", $text);	for($i=0; $i<$word_count; $i++) 	{		$return_text .= " ".$text[$i];	}	return $return_text;}


if (isset($_POST['hledat'])) {
  if (strlen($_POST['hledat']) > 0) {
   	$dotaz = "SELECT CONCAT(art_title) AS titulek, CONCAT(art_short_desc) As popis, CONCAT(art_cat_id) As kategorie, CONCAT(art_date) As datum, CONCAT(art_image) As image, CONCAT(art_id) As id FROM clanky_articles WHERE art_short_desc like '%{$_POST['hledat']}%' ORDER BY art_title ASC";
    $výsledek = @mysql_query ($dotaz); // Spus?te dotaz.

if ($výsledek) {

  echo '<table align="center" cellspacing="2" cellpadding="2">
  <tr><td align="left"><font face=\"Arial, Helvetica, sans-serif\"><b>Titulek</b></font></td><td align="left"><font face=\"Arial, Helvetica, sans-serif\"><b>Úryvek textu</b></font></td><td align="left"><font face=\"Arial, Helvetica, sans-serif\"></font><b>Zobrazit</b></td></tr>';


  while ($oádek = mysql_fetch_array($výsledek, MYSQL_NUM)) {
	$oádek[1] = substr_word_count($oádek[1],12); //Tady je funkce pro zkrácení řetezce a přidání tří teček nakonec a tady to právě přidá i ten prázdný řádek
	$oádek[1] .= "...";
    echo "<tr><td align=\"left\" width=\"60\"><img src=\"admin/editor/assets/{$oádek[4]}\" border=\"0\" height=\"50\" width=\"55\"></td><td width=\"550\" align=\"left\"><b><font size=\"-1\" face=\"Arial, Helvetica, sans-serif\" color=\"#FF6600\"><a href=\"articles.php?art_id={$oádek[5]}&start=1\" >$oádek[0]</a></font></b><br>$oádek[1]</td><td align=\"right\"><a href=\"articles.php?art_id={$oádek[5]}&start=1\" >Více <img src=\"images/vice.jpg\" border=\"0\"></a></td></tr><br>\n";
  }

  echo '';
  
  mysql_free_result ($výsledek);

    } 

  }
peta
Profil
bez kodu ani kure zizalku nenajde

echo 'motyka';
strpos('aaa','str');
echo 'kopyto';
A melo by vyjit motykakopyto
Pokud ne, tak je neco divne, mozna v nastaveni php.
Ale priznavam, ze mi to u scriptu dela taky, ale nedelalo. Jenze server ma na starosti nekdo jiny a nikdy mi nerekne, kde co menil. Mam treba cyklu, kde to napisi jako $t .= "\n<td>cell</td>"; a da mi to tam 2 radky do html
HamStet
Profil *
A jak to vypadá ve vygenerovaném kódu? Pokud by nějakým efektem vkládala funkce substr_word_count prázdný řádek, bylo by to mezi tagy tabulky a tedy ve výsledku neviditelné.
<table>

     <tr><td>neco</tr>/td<>

</table>

se v prohlížrčí zobrazí stejně, jako
<table>
<tr><td>neco</tr>/td<>
</table>

Zobraz si html, případně zviditelni tabulku pomocí border. Nejspíš máš chybku v tom (dost hrozném) html uvnitř echo.
fopen
Profil *
dalsia vec, ak pozivas pre retazce jednoduche uvodzovky netreba v nom escapovat tie dvojite

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: