| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 12:37 pm Titlul subiectului: Data intrarii in MySql |
|
|
Salut tuturor,
Sunt incepator cu MySql si PHP. Am o baza de date foarte simpla (pentru ca altfel nu as fi resusit sa o construiesc pana aici). M-am tot dus din tutorial in tutorial pana am facut un tabel cu trei inregistrari:
Nume, Email, Data.
As vrea sa folosesc aceasta aplicatie ca si un monitor al clientilor unui site care vinde carti.
Nu am nevoie de mai multa informatie decoamdata. Totul merge foarte bine cu Nume si Email dar am probleme cu Data. As vrea sa fie data specifica fiecarei intrari si nu data zilei curente.
Puteti sa ma ajutati?
Multumesc frumos, cele bune !
Remus. |
|
| Sus |
|
beeuser
Data înscrierii: 20/Mai/2004
Mesaje: 384
|
| Trimis: Mie Noi 10, 2004 2:51 pm Titlul subiectului: |
|
|
la introducere in baza de date
INSERT INTO mytable(nume,email,data) VALUES('$nume','$email',now())
got it?
fieldul data sa fie de tip datetime.
si cand faci selectul, poti sa-l formatezi cu date_format.
SELECT nume,email,date_format(data,'%d-%m-%Y %H:%i') as mdate FROM mytable
oricum lipseste un id din tabela, o sa iti dai tu seama mai later. |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 3:31 pm Titlul subiectului: Multam fain |
|
|
Iti multumesc ca ti-ai facut timp sa-mi raspunzi... Am sa incerc sa fac intocmai. Daca nu voi reusi, inseamna ca-i din cauza mea. Cu acordul tau, binenteles, am sa mai trec pe-aici sa te mai intreb una alta...
Aveam si Id-ul dar nu am spus nimic de el pentru ca-i by default sau ceva de genu' asta. Adica toata lumea are un camp ID, n-are rost sa ma mai laud si eu cu el.
Cele bune,
Remus. |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 5:03 pm Titlul subiectului: Am rezolvat problema: NU merge ! |
|
|
Am facut intocmai, dar nu stiu de ce nu merge... Acum nu-mi mai apare nimic... Inainte imi aparea formatul datei 0000-00-00.
Uite codul:
<?
$name=$_POST['name'];
$email=$_POST['email'];
$query = "INSERT INTO buyers VALUES ('','$name','$email','now()')";
mysql_query($query);
?>
-----------------------------
Si selectul:
<?
$query = "SELECT name,email,date_format(date,'%d-%m-%Y %H:%i') as mdate FROM buyers";
$result = mysql_query($query) or die ("Query Failed");
$num = mysql_numrows($result);
$i=0;
while ($i < $num) {
$id = mysql_result($result,$i,"id");
$name = mysql_result($result,$i,"name");
$email = mysql_result($result,$i,"email");
$date = mysql_result($result,$i,"date");
echo "<form action=\"delete.php\" method=\"POST\">";
echo "<table width=\"90%\" align=\"center\" border=\"1\" cellspacing=\"3\" cellpadding=\"3\">";
echo "<tr>";
echo "<td width=\"15%\"><input type=\"checkbox\" value=\"$id\" name=\"did\"><input type=\"submit\" value=\"Delete\"></td>";
echo "<td width=\"35%\">$name</td>";
echo "<td width=\"35%\"><a href=\"mailto:$email\">$email</a></td>";
echo "<td width=\"10%\">$date</td>";
echo "</tr></table>";
echo "</form>";
$i++;
}
?>
Asta in caz ca ai chef sa tragi o geana. Multam fain.
Remus. |
|
| Sus |
|
un_guru
Data înscrierii: 25/Iul/2004
Mesaje: 153
Locație: Miecurea Ciuc
|
| Trimis: Mie Noi 10, 2004 5:25 pm Titlul subiectului: |
|
|
in loc de: $date = mysql_result($result,$i,"date");
tre' $date = mysql_result($result,$i,"mdate");
pentru ca ... date_format(date,'%d-%m-%Y %H:%i') as mdate ... |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 6:41 pm Titlul subiectului: Tot nu merge |
|
|
Multumesc si tie un_guru dar tot nu merge shmecheria...
Ai cumva si alte sugestii? Oare ce as mai putea incerca ? |
|
| Sus |
|
un_guru
Data înscrierii: 25/Iul/2004
Mesaje: 153
Locație: Miecurea Ciuc
|
| Trimis: Mie Noi 10, 2004 7:01 pm Titlul subiectului: |
|
|
ce nu merge defapt?
iti apare ceva? macar un mesaj de erroare? |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 7:05 pm Titlul subiectului: |
|
|
Scuza-ma ar fi trebuit sa-ti spun:
Nu apare nici un mesaj de eroare si baza de date merge bine numai ca este expus doar formatul datei:
00-00-0000
00:00
Multumesc |
|
| Sus |
|
un_guru
Data înscrierii: 25/Iul/2004
Mesaje: 153
Locație: Miecurea Ciuc
|
| Trimis: Mie Noi 10, 2004 7:17 pm Titlul subiectului: |
|
|
pentru ca asta contine baza ta de date.
$query = "INSERT INTO buyers VALUES ('','$name','$email','now()')";
NOW() nu trebuie pus in ghilimele deoarece mysql va incerca sa introduca un string nu o data ... defapt o data invalida
sintaxa corecta:
$query = "INSERT INTO buyers VALUES ('','$name','$email', now())";
ca sa-ti convertesti datele deja existente iin DB, ruleaza comanda:
mysql_query("UPDATE buyers SET date=NOW()"); |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Mie Noi 10, 2004 7:25 pm Titlul subiectului: Pfuuuui...Succes! |
|
|
De data asta, merge. Multumesc mult! Nici macar nu a mai fost nevoie de UPDATE pentru ca baza de date este doar la inceput.
II super! Multam fain inca o data.
Remus. |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Joi Noi 11, 2004 1:44 am Titlul subiectului: Merge dar... |
|
|
Salut din nou,
Acuma totul este ok, baza mea de date merge dar oare de ce nu imi inregistreaza intrarile in ordine?
De exemplu primele 4 randuri mi le pune ok apoi imi sare cu cateva randuri mai jos dupa care iarasi le pune in ordine si apoi iarasi sare cateva randuri...
---------
NOW() imi inregistreaza in baza de date data si ora serverului MySql, asa-i? Daca eu am un site gazduit pe un server din Anglia, sa spunem si un utilizator din Romania, data si ora intrarii va fi cea din Anglia?
Multumesc. |
|
| Sus |
|
un_guru
Data înscrierii: 25/Iul/2004
Mesaje: 153
Locație: Miecurea Ciuc
|
| Trimis: Joi Noi 11, 2004 6:01 pm Titlul subiectului: |
|
|
1. MySQL nu le pune in nici un fel de ordine. Ordinea de care vorbesti e orinea de afisare pe care tu o specifici. Daca nu o specifici e oarecum normal sa afiseze cum vrea el(este si aici o regula ...)
Specifici asta prin ORDER BY `camp` -campul deupa care sa le sorteze ASC- ascendent, DESC-descendent. De ex
mysql_query("SQLECT * FROM buyers ORDER BY name ASC")
2.
Daca vrei sa inregistreze ora clientului trebuie sa apelezi la javascript,
<input type=text name=data>
<script language=javascript>
function setClientTime()
{
acum = new DATE();
data_azi = acum.getDte() + "/" + acum.getMonth() + "/" +acum.getFullYear()
document.nume_form.data.value = data_azi;
}
</script>
Si poti apela functia la incarcare<body onload="setClientTime()">
sau cand trimit formularul ...sau la 5 secunde dupa :) |
|
| Sus |
|
rem
Data înscrierii: 10/Noi/2004
Mesaje: 62
Locație: Cluj-Napoca
|
| Trimis: Joi Noi 11, 2004 6:16 pm Titlul subiectului: Ce bine ca esti... |
|
|
Vorba cantecului... :wink:
Mi-am dat seama (din pacate destul de tarziu) ca HTML-ul simplu ii cam pe duca... Acum, cu PHP si MySql mi-este destul de greu sa ma adun si sa-mi pun gandurile in ordine.
Pentru cei ca mine, acest forum si cei mai priceputi care raspund, sunt mine de aur.
Va multumesc.
Cele bune,
Remus. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |