Adaugare rand nou BR dupa un anumit caracter

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
icxtream
Mesaje:11

Adaugare rand nou BR dupa un anumit caracter

Salutare,
Am scriptul urmator , e o pagina de adaugare produs in baza de date; acum ce vreau eu este ca la detalii dupa fiecare " ; " sa sara pe radul urmator atunci cand afiseaza descrierea. Sa ii de un BR dupa fiecare " ; ".
Eu scriu in formularul de adaugare , si la "detalii" cand scriu detaliile o sa le despart prin ; si atunci sa ii dea BR.
Va multumesc mult .

Cod: Selectaţi tot

<!-- daca userul este setat ... -->
    <?php
        if (isset($_SESSION['valid_user'])){
            include ('menu_links.php');
 
        if(isset($_GET['action']) && $_GET['action'] == "add") {
        
            $qdir = "SELECT cat FROM categorii WHERE idc = ".$_POST['idc'];
            $rdir = mysql_query($qdir);
            $d = mysql_fetch_array($rdir);
    echo '<div align="center">
            <div class="mare">
                <div class="sus">
                    <div class="ne"> Adauga produs </div>
                </div>
                    <div class="mijloc">
                        <div class="mne">';
                        
                            if($_POST['nume']=="") {echo 'Trebuie sa completati numele produsului <br><a href="adauga_produs.php">Inapoi</a>';
                            
                    echo ' </div>
                    </div>
            <div class="jos"></div>
            </div>
          </div>';exit;}
        $sql="SELECT nume FROM produse WHERE nume='".$_POST['nume']."'";
        $resursa=mysql_query ($sql);
        if(mysql_num_rows($resursa) != 0)
          { print 'Produsul <b>'.$_POST['nume'].'</b> exista deja in baza de date!<br>
           <a href="adauga_produs.php">Inapoi</a>';
           echo '</div></div><div class="jos"></div></div></div>';exit;}
       
     $sql="INSERT INTO produse (id,idc,nume,pret,detalii,stoc) VALUES ('','".$_POST['idc']."','".$_POST['nume']."','".$_POST['pret']."','".$_POST['detalii']."','".$_POST['stoc']."')";
        mysql_query ($sql);
        print 'Produsul <b>'.$_POST['nume'].'</b> cu pretul <b>'.$_POST['pret'].'</b> RON a fost adaugata in baza de date!<br>
          <a href="index.php">Inapoi la meniu</a><br><a href="adauga_produs.php">Adauga un alt produs</a>';
          echo '</div></div><div class="jos"></div></div></div>';exit;
  }//sfarsit inserare in produs
else{

echo '<div align="center"><div class="mare"><div class="sus"><div class="ne"> Adauga produs </div></div><div class="mijloc"><div class="mne">';
?> <form method="post" action="<?php echo $uploadHandler ?>" enctype="multipart/form-data" >
 <table>
<tr><td>Marca: </td><td>
<select name="idc">
<?php
$query = "SELECT idc , cat FROM categorii";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo '<option value="'.$row['idc'].'">'.$row['cat'].'</option>';}
?>
</select>
</td></tr>
<tr><td>Nume: </td><td><input type="text" name="nume" /></td></tr>
<tr><td>Detalii: </td><td><textarea name="detalii"></textarea></td></tr>
<tr><td>Pret: </td><td><input type="text" name="pret" /></td></tr>
<tr><td>Stoc: </td><td><input type="text" name="stoc" /></td></tr>

<tr><td><input type="submit" value="Creeaza" id="submit" name="action" style="width:80px;"/></td><td><input type="reset" value="Resetare" style="width:80px;"/></td></tr>
</table>
</form>
 
<?php 
} echo '</div></div><div class="jos"></div></div></div>';
}
 else {
   echo 'Nu sunteti logat. Doar membrii privilegiati pot accesa aceasta pagina.<br>Pentru a va loga, accesati pagina de <a href="index.php">Log in</a>';}
?>

MarPlo Mesaje:4343
Salut
Poti folosi functia str_replace() ca sa inlocuiesti caracterul ";" cu altceva, cum ar fi cu el insusi si un <br>.
Vezi exemplu acesta si adaptezi functia str_replace() cum stii in codul tau.

Cod: Selectaţi tot

$txt = 'marplo.net; https://coursesweb.net/ ; php.net';
$txt = str_replace(';', ';<br/>', $txt);
echo $txt;
 

icxtream Mesaje:11
Ceva ceva stiam si eu , dar nu stiu cum sa il pun in codul meu ... ! De asta am apelat la cineva dupa forum :)

MarPlo Mesaje:4343
Nu se vede in cod partea de afisare "detalii". Fiind codul tau, tu ar trebui sa stii care e.
Oricum, daca vrei sa adaugi "detalii" in baza de date direct cu tag-ul <br/>, inlocuieste la comanda INSERT, variabila $_POST['detalii'] cu: str_replace(';', ';<br/>', $_POST['detalii'])

icxtream Mesaje:11
Mersi frumos , asta e comanda de inserare :

Cod: Selectaţi tot

$sql="INSERT INTO produse (id,idc,nume,pret,detalii,stoc) VALUES ('','".$_POST['idc']."','".$_POST['nume']."','".$_POST['pret']."','".$_POST['detalii']."','".$_POST['stoc']."')"; 
Si form-ul de inserare este :

Cod: Selectaţi tot

<form method="post" action="<?php echo $uploadHandler ?>" enctype="multipart/form-data" >
 <table>
<tr><td>Marca: </td><td>
<select name="idc">
<?php
$query = "SELECT idc , cat FROM categorii";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo '<option value="'.$row['idc'].'">'.$row['cat'].'</option>';}
?>
</select>
</td></tr>
<tr><td>Nume: </td><td><input type="text" name="nume" /></td></tr>
<tr><td>Detalii: </td><td><textarea name="detalii"></textarea></td></tr>
<tr><td>Pret: </td><td><input type="text" name="pret" /></td></tr>
<tr><td>Stoc: </td><td><input type="text" name="stoc" /></td></tr>

<tr><td><input type="submit" value="Creeaza" id="submit" name="action" style="width:80px;"/></td><td><input type="reset" value="Resetare" style="width:80px;"/></td></tr>
</table>
</form>
Si aici am codul de afisare din pagina cu detalii :

Cod: Selectaţi tot

<tr>
     <td style="width:200px;"><u>Descriere:</u> <b><?php echo $row['detalii']; ?> </b></td>
</tr>
Am incercat sa adaug codul acela de la tine , in comanda de insearare , dar nu merge, adica imi da erroare .

MarPlo Mesaje:4343
Incearca asa. In codul de afisare din pagina cu detalii:

Cod: Selectaţi tot

<tr>
  <td style="width:200px;"><u>Descriere:</u> <b><?php echo str_replace(';', ';<br/>', $row['detalii']); ?> </b></td>
</tr>
Ar trebui sa mearga, daca nu, alta solutie nu stiu.

Subiecte similare