- Home
- Categorie
- Coding e Sistemistica
- PHP
- Formattazione testo
-
Formattazione testo
Salve a tutti,
premetto che sono alle prime armi con php e mysql.
Ho un problema che mi fa impazzire, dopo mille peripezie sono riuscito a fare un progettino flash-php-mysql, spulciando e modificando script quà e là.
Ho fatto una galleria dinamica in flash che pesca dati da mysql attraverso php.
Sono riuscito ad aggiungere dati che volevo visualizzare e a toglierne altri che non mi servivano e questo è già stato per me un bel banco di prova, ma almeno ho cominciato ad apprezzare il binomio php-mysql e a raccapezzarmici:?
Per la parte flash tutto funziona a meraviglia, anche il pannello di amministrazione funge, però ho un grosso problema con la formattazione dei testi:x
In particolare il campo chiamato "comments" non so come trasformarlo in multiriga (text area anzichè input type e come renderlo hidden, chiaramente in php.
Quando vado a modificare la tabella da mysql in flash mi visualizza il testo formattato correttamente, quindi ne deduco che il file swf è a posto e idem
la costruzione del lato mysql, ergo il problema sta nello script php del pannello di amministazione.
Ho cercato in giro come rendere la formattazione dei testi passati attraverso php e me ne sono fatto un'idea, ma mi manca il passo precedente: ossia trasformare un input text in una textarea che accetti le preposizioni
con ritorni a capo.
Sono in crisi nera, questo è lo script del pannello di ammistrazione che presumo sia la fonte dei miei problemi :_____INIZIO SCRIPT PHP ______________
<?php
////////////////////////////////////////////////////////////// DATABASE CONNECTION
include_once("../config.php");
////////////////////////////////////////////////////////////// FUNCTIONS
function splitVals($str){
$chunks = split('^', $str);
return $chunks;
}
////////////////////////////////////////////////////////////// PAGE ACTIONS
$pagetitle = "OFFERTE";
$pagewidth = 770;
$saveBtn = false;
$headerImage = "<img src='../images/folder.close.gif' width='18' height='18' align='absmiddle' alt='' /> Root";
// form vars
$action = $_REQUEST['action'];
$groupId = $_REQUEST['groupId'];
$groupId = ($groupId=="")?0:$groupId;
$picId = $_REQUEST['picId'];
$id = $_REQUEST['idAll'];
$title = $_REQUEST['titleAll'];
$width = $_REQUEST['widthAll'];
$height = $_REQUEST['heightAll'];
$comments = $_REQUEST['commentsAll'];
$prices = $_REQUEST['pricesAll'];
$formPwd = $_REQUEST['formPwd'];////// ACTIONS //////
if ($action=='AUTH'){
if ($formPwd == $adminPwd){
$_SESSION['authorized'] = 'Y';
}
}else if ($action=='SAVE'){
$idCol = splitVals($id);
$titleCol = splitVals($title);
$widthCol = splitVals($width);
$heightCol = splitVals($height);
$commentsCol = splitVals($comments);
$pricesCol = splitVals($prices);for ($x=0; $x<count($idCol); $x++){
//echo("X=".$titleCol[$x]);
$updateQry = "update ".$dbTable." set title='".$titleCol[$x]."', width='".$widthCol[$x]."', height='".$heightCol[$x]."', comments='".$commentsCol[$x]."', prices='".$pricesCol[$x]."' where id=".$idCol[$x];
$success = mysql_query($updateQry);
}
}else if ($action == 'DELETE'){
$deleteQry = "delete from ".$dbTable." where id=".$picId;
$success = mysql_query($deleteQry);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>[<?=$pagetitle?>]</title>
<link rel="stylesheet" type="text/css" href="../global.css" />
<script language="JavaScript" type="text/javascript" src="../js/launchWindow.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
function getVals(col){
var values = new Array();
for (var x=0; x<col.length; x++){
values.push(col[x].value);
}return values;
}
function submitForm(action,groupId,picId){
if (action=='SAVE'){
document.adminForm.idAll.value = getVals(document.getElementsByName('id')).join("^");
document.adminForm.titleAll.value = getVals(document.getElementsByName('title')).join("^");
document.adminForm.widthAll.value = getVals(document.getElementsByName('width')).join("^");
document.adminForm.heightAll.value = getVals(document.getElementsByName('height')).join("^");
document.adminForm.commentsAll.value = getVals(document.getElementsByName('comments')).join("^");
document.adminForm.pricesAll.value = getVals(document.getElementsByName('prices')).join("^");
}else if (action=='RELOAD'){
document.adminForm.groupId.value = groupId;
}else if (action=='DELETE'){
document.adminForm.picId.value = picId;
}
document.adminForm.action.value = action;
document.adminForm.submit();
}
function delPic(picId){
var confirmed = confirm("You are about the delete this entry.\n Are you sure you want to proceed?\n");
if (confirmed){
submitForm('DELETE',null,picId);
}else{
return void(0);
}
}
//-->
</script>
</head>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<?php include("../header.php");?>
<?
if ($_SESSION['authorized']=='Y'){
?>
<form action="index.php" name="adminForm" method="post">
<input type="hidden" name="action" value="">
<input type="hidden" name="groupId" value="<?=$groupId?>">
<input type="hidden" name="idAll" value="">
<input type="hidden" name="titleAll" value="">
<input type="hidden" name="widthAll" value="">
<input type="hidden" name="heightAll" value="">
<input type="hidden" name="commentsAll" value="">
<input type="hidden" name="pricesAll" value="">
<input type="hidden" name="picId" value="">
<? // get parent to show the navigate up link
$parentQry = "SELECT * FROM ".$dbTable." WHERE ID='".$groupId."'";
$parentResult = mysql_query($parentQry);
if ($parentResult){
while($pRow = mysql_fetch_array($parentResult)){
$headerImage = "<a href="javascript:submitForm('RELOAD','".$pRow[1]."',null)" class='tabletxt2'><img src='../images/folder.open.gif' width='18' height='18' border='0' align='absmiddle' hspace='5'/> UP - ".$pRow[2]."</a>";
}
}
?>
<table cellpadding="0" cellspacing="0" border="0" align="center" width="95%">
<tr>
<td align="center"><table cellpadding="0" cellspacing="0" class="tableHeader" border="0" width="100%">
<tr>
<td class="normal" width="1"><img src="images/sp.gif" width="1" height="38" alt="" /></td>
<td class="normal tabletxt2"></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="30"> </td>
<td>
<table cellpadding="3" cellspacing="1" class="tableBg" border="0" width="100%">
<?php
$imgQry = 'SELECT * FROM '.$dbTable.' WHERE PARENT_ID='.$groupId.' ORDER BY SRC';
$result = mysql_query($imgQry);
// display each child
while ($row = mysql_fetch_array($result)) {
$rowHTML = "<tr>";
if ($row[3]==""){
$rowHTML .= "<td colspan='9' class='accent1'><img src='../images/folder.close.gif' width='18' height='18' hspace='3' alt='' align='absmiddle' /><a href="javascript:submitForm('RELOAD','".$row[0]."',null)" class='tabletxt2'>".$row[2]."</a> </td>";
$rowHTML .= "<td class='accent1' width='60' align='center'><a href="javascript:launchWindow('renamefolder.php?groupId=".$row[0]."&parentId=".$groupId."','500','200','upload','N')" class='small'>[Rename]</a></td>";
}else{
$saveBtn = true;
$rowHTML .= "<td class='accent1 tabletxt1' width='60' align='right'><input type='hidden' name='id' value='".$row[0]."' />Title:</td>";
$rowHTML .= "<td class='accent0' width='170'><input type='text' class='input' name='title' value='".str_replace(''', ''',$row[2])."'/></td>";
$rowHTML .= "<td class='accent1 tabletxt1' width='10' align='right'>Width:</td>";
$rowHTML .= "<td class='accent0' width='170'><input type='text' class='input' size='5' name='width' value='".$row[4]."'/></td>";
$rowHTML .= "<td class='accent1 tabletxt1' width='10' align='right'>Height:</td>";
$rowHTML .= "<td class='accent0' width='170'><input type='text' class='input' size='5' name='height' value='".$row[5]."'/></td>";
$rowHTML .= "<td class='accent1 tabletxt1' width='60' align='right'>Comments:</td>";
$rowHTML .= "<td class='accent0' width='170'><input type='text' class='input' size='30' name='comments' value='".str_replace(''', ''',$row[6])."'/></td>";
$rowHTML .= "<td class='accent1 tabletxt1' width='60' align='right'>Prices:</td>";
$rowHTML .= "<td class='accent0' width='170'><input type='text' class='input' size='30' name='prices' value='".str_replace(''', ''',$row[7])."'/></td>";
$rowHTML .= "<td class='accent1' width='20'><a href='javascript:delPic("".$row[0]."")'><img src='../images/delete.icon.gif' width='18' height='18' border='0' alt='Delete Entry' /></td>";
$rowHTML .= "<td class='accent0 tabletxt1' width='60'><img src='../".$row[3]."' class='input' width='50' height='50' /></td>";
}
$rowHTML .= "</tr>";
echo($rowHTML);
}?>
</table>
</td>
</tr>
</table></td>
</tr>
</table>
<table cellpadding="3" cellspacing="0" border="0" width="100%">
<tr>
<td> </td>
</tr>
<tr>
<td align="center">
<? if ($saveBtn){?><input type="button" class="button" onClick="submitForm('SAVE',null,null);" value="Save"/><?}?>
<input type="button" class="button" onClick="launchWindow('uploadimage.php?groupId=<?=$groupId?>','500','200','upload','N')" value="Upload Image"/>
<input type="button" class="button" onClick="launchWindow('../','700','500','preview','Y')" value="Preview"/>
</td>
</tr>
</table>
</form>
<?php
}else{
?>
<form action="index.php" name="adminForm" method="post">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="normal" width="1%" nowrap>Password: <input type="password" name="formPwd" class="input"> <input type="submit" class="button"><input type="hidden" name="action" value="AUTH"></td>
</tr>
</table>
</form>
<?}?>
<?php include("../footer.php");?>
</body>
</html>__FINE SCRIPT ____________
In poche parole non so come rendere "comments" multilinea:o
Ah dimenticavo : le variabili $row rappresentano la riga del mio DB che contiene i valori.
Lo so che mi sono spiegato da schifo ma in questo periodo sto facendo mille cose causa matrimonio e devo correre per fare qualsiasi cosa, quindi scusatemi in anticipo.
Aspetto con ansia suggerimenti.
Ciao
-
non sono sicuro di aver capito bene.. però... se cerchi un modo di far tornre a capo il testo ogni volta che vai a capo te, tipo WYSIWYG.. allora potresti usare la funzione nl2br
e funziona cosi:
nell'estrazione echo nl2br($row[testo]);