Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] 3 problemy przy newsach
Forum PHP.pl > Forum > Przedszkole
batat
Oto kod mojego skryptu newsowego, a raczej jego czesc sluzaca do edycji:

[php:1:6c3434b412]<table border="0" width="750" cellspacing="1" cellpadding="0"align=center bgcolor=black>
<tr>
<td width="96%" colspan="5" bgcolor="#C0C0C0">
<p align="center"><b>Edytuj newsa</b></td>
</tr>
<tr>
<td width="5%" align="center" bgcolor="#E0E0E0">ID</td>
<td width="68%" align="center" bgcolor="#E0E0E0">Tytuł</td>
<td width="17%" align="center" bgcolor="#E0E0E0">Data</td>
<td width="10%" align="center" bgcolor="#E0E0E0">Modyfikuj</td>
</tr>

<?php

mysql_connect ("127.0.0.1","root","krasnal");
mysql_select_db (news);

$zapytanie = "SELECT * FROM news ORDER BY id DESC";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_array ($wykonaj)) {
echo " <tr bgcolor=white>
<td width=4% align=center>".$wiersz['id']."</td>
<td width=18%>".$wiersz['tytul']."</td>
<td width=18% align=center>".$wiersz['data']."</td>
<td width=6% align=center><b><a href=edytuj.php?stan=modyf&idmodyf=".$wiersz['id'].">Edytuj</a></b></td>
</tr></table>";
}

if($stan=='modyf') {
$zapytanie = "SELECT * FROM news where id=$idmodyf";
$wykonaj = mysql_query($zapytanie);
$tablica = mysql_fetch_array($wykonaj);
echo "

<form method=post action=edytuj.php>

<table border=0 align=center bgcolor=black cellspacing=1>

<tr bgcolor=white><td align=right>ID:</td>
<td align=left><input type=text name=tytul value=".$tablica['id']." size=20></td></tr>

<tr bgcolor=white><td align=right>Tytuł:</td>
<td align=left><input type=text name=tytul value=".$tablica['tytul']." size=20></td></tr>

<tr bgcolor=white><td align=right>Data ( DD-MM-YYYY, H : i ) :</td>
<td align=left><input type=text name=data value=".$tablica['data']." size=20></td>

<tr bgcolor=white><td align=right>Treść:</td>
<td align=left><input type=text name=tresc size=20 value=".$tablica['tresc']."></td>
</tr>

<tr bgcolor=white><td align=center colspan=2><input type=hidden name=modyfikuj value=$idmodyf><input type=submit value=Modyfikuj

name=send></td></tr>
</table>

</form>";

}
elseif ($send=='Modyfikuj'){$zapytanie = "UPDATE news SET id='$id', tytul='$tytul', tresc='$tresc', data='$data' WHERE id=$modyfikuj";
$wykonaj = mysql_query ($zapytanie);
echo "<br>Dane poprawione<BR><a href=edytuj.php>Obejrzyj poprawiona bazę</a>";}
else {

}
?>
</table>[/php:1:6c3434b412]
Teraz mam trzy pytania:
:arrow: Dlaczego nie moge wyedytowac ID ? czy to dlatego ze w phpmyadmin jest ustawione domyslnie na 0 questionmark.gif
:arrow: Czego gdy w jakiejs wartosci jest przerwa ( np. w dacie ) to ucina sie reszta wartosci questionmark.gif
:arrow: I ostatnie, trzecie, jak moge pobrac tresc newsa do textarea questionmark.gif do inputa idzie, a do textarea nie chce ;-)

Bede wdzieczny za kazda pomoc smile.gif
invx
1. ID jest auto_increment czyli automatycznie przez baze nadawane i nie mozna edytowac.
2. Pole typu date jesli wartosc jest nie prawidlowa baza zamienia na zera
3. nie mozliwe, zle to robisz
[php:1:3d8323b7a5]<?php
echo"
<textarea name="nazwa" width="100" height="100">$tresc</textarea>
"
EDIT
zapomnialem dodac / na koncu textarea smile.gif
?>[/php:1:3d8323b7a5]
mike
A moim zdaniem powinno być tak:
  1. <?php 
  2. echo '<textarea name=\"nazwa\" width=\"100\" height=\"100\">'.$tresc.'</textarea>'; 
  3. ?>
shpyo
Cytat
:arrow: I ostatnie, trzecie, jak moge pobrac tresc newsa do textarea questionmark.gif do inputa idzie, a do textarea nie chce ;-)


zaznaczasz go
[sql:1:3fd6b40fd7]SELECT * FROM news WHERE id=id_newsa[/sql:1:3fd6b40fd7] Bierzesz to w petle (mysql_fetch_array) i wyswietlasz formularz. Zeby wyswietlil w textarea musisz dac value=tresc_newsa
shpyo
Kod
<textarea name="nazwa" width="100" height="100">tresc</textarea>
mike
A ja jeszcze dodam, że textarea zamiast width ma cols, zamiast height ma rows.
Acha, @shpyo textarea nie ma czegoś takiego jak value :wink:
batat
ok dzieki, z tym textarea juz widze ze zle robilem, wiec ten problem z glowy. z ID tez juz rozumiem.

invx, to ze jak jest zla wartosc to wiem ze zmienia na zera, ale tu chodzi o co innego smile.gif zeby uzyskac odpowiedni format daty, pole do daty ustawilem na BLOB, wiec moge wpisac co badz, ale nie o to chodzi. np. mam date: 1-06-2004, 14:00 to w formularzu gdy pobiore te wartosc wyswietla samo 1-06-2004, , o to mi chodzi. tak samo jest z tytulem i trescia smile.gif
mike
Proponuję ci trzymać datę jako int'a w znaczniku czasu Unixa.Wtedy będziesz miał większe pole manewru, a date zawsze będziesz mógł wyświetlić, np tak:
  1. <?php
  2. echo date(&#092;"d-m-Y G:i\", $intDate);
  3. ?>
batat
no to dobra, powiedzmy ze ta date tak zmienie, ale jak mam przerobic te pola tytul i tekst, aby wyswietlala sie cala zawartosc pola w formularzu prz edycji a nie tylko pierwszy ciag znakow do pierwszej spacji ;-P
mike
Ciekawe. Przyznam, że nie wiem dlaczego wyświetla ci do pierwszej spacji. Możesz pokazać tabelę, w której trzymasz dane? Jakie tam masz typy?
batat
nie wiem czy o to ci chodzi, ale wstawiam obrazek tabelki i rekordu smile.gif moze to cos pomoze

www.devilpage.pl/tabelka.jpg
www.devilpage.pl/rekord.jpg
mike
To daj pole tytułu typu varchar, pole daty int a pole tekstu text. Może to właśnie przez blob'a ci wypisuje tylko do pierwszej spacji.
batat
Cytat
To daj pole tytułu typu varchar, pole daty int a pole tekstu text. Może to właśnie przez blob'a ci wypisuje tylko do pierwszej spacji.


z tym juz sie uporalem smile.gif chodzilo o to ze value w formularzach nie bylo w " " smile.gif tak jak w alt'ach w htmlu smile.gif taki maly szczegol a tak namieszal smile.gif
ale dziekuje za wszelka pomoc!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.