[php/mySQL] Problem z pobraniem wartości

Odpowiedz Nowy wątek
2006-07-21 22:28
0

Witam. Używając poniższego kodu pobieram dane z mySQL-a i przypisuję je zmiennej, którą potem wyświetlam w pewnym momencie strony. Niestety wyświetla się puste pole ;(

<?
if(mysql_connect('localhost','root','')){
if(mysql_select_db('tomsoft')){
$zapytanie = "SELECT * FROM newsy WHERE 1";
$wynik = mysql_query($zapytanie);  
while($wiersz=mysql_fetch_assoc($wynik)){
$content2=='<table id="Table_02" width="100%" border="1" celpadding="0" cellspacing="0"  bordercolor="#111111"><td>'.$wiersz['temat'].', '.$wiersz['autor'].', '.$wiersz['data'].'</td><tr><td>'.$wiersz['text'].'</td></table>';}}}
switch($_REQUEST['part']){
case 'projekty':{
$content = 'asd';
break;
}
default:{
$content=($content2);  
break;
}
}
?>

A oto fragment wyświetlania zawartości na stronie:

<? print($content); ?>

"Łamałem ludzi, nie hasła" K. Mitnick

Pozostało 580 znaków

2006-07-22 00:47
0
Tommalla napisał(a)

$content2=='<table (...)</table>';

z czym i po co to porownujesz?

ogolnie caly kod jest jakis trefny - odsylam do pierwszego lepszego kursu MySQL (znajdziesz na 4pro)

nawiasem mowiac: lepiej juz w trakcie nauki HTMLa (dobrze obstawiam, ze sie tego dopiero uczysz?) naucz sie stosowac semantyczny xHTML + CSS, potem ciezko sie jest przestawic. Zeby nie bylo - ja wszystkich znajomych, co proboja HTMLa, chocby nie mieli szans na prace w zawodzie, i tak przymuszam do pisania od razu pieknie, xHTMLowsko, bez tabelek w layoutach itp :]

aha i jak dajesz jakies posty na 4pro z kodem - postaraj sie, aby byl jakos uporzadkowany :/


Pozostało 580 znaków

2006-07-22 15:07
0

ja powiedzialbym ze nie tylko kursu mysqla :P
poza tym, xhtml, jest dobry, ale bez przesady, czasem latwiej i szybciej walnac tabelke, niz bawic sie w div'y, (ale nie dyskutujmy o tym, bo to takie polemizowanie juz nie raz bylo :])

Tommalla, robisz podstawowe bledy.

"WHERE 1" - po co?? Where jest opcjonalne, wiec go nie musi byc

$content2== - jak juz tomkiewicz napisal, == to porownanie, = to przypisanie

case 'projekty':{ - po co rozpoczynasz blok programu?? (tzn po co {)

$content=($content2); - a tu, po co nawiasy??

Niepotrzbnie to zaciemnia kod :/
Naucz sie tez robic odpowiednie wciencia w kodzie:

'</td></table>';}}}

troche czasu minelo zanim sie polapalem po co Ci Tyle } i co ktory zamyka.
:D

BTW: teraz tez zauwazylem, fajnie tabelke robisz :) Ale trzymaj sie penego "standardu" do konca, jesli nie konczysz tr, to tez nie koncz td :P
Ale najlepiej jakbys pisal wg nowszysch standardow, gdzie i tr i td, musza miec rozpoczecie i zakonczenie


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

2006-07-22 16:36
0

uporządkowany i zoptymalizowany trochę twój kod wygląda tak:

<?php
 
if(mysql_connect('localhost','root','')){
  if(mysql_select_db('tomsoft')){
    $zapytanie = "SELECT * FROM newsy WHERE true";
    $wynik = mysql_query($zapytanie);  
    while($wiersz = mysql_fetch_assoc($wynik)){
      false;
    }
  }
}
 
switch($_REQUEST['part']){
  case 'projekty':
    $content = 'asd';
    break;
 
  default:
    $content = $content2;
    break;
}
 
?>

gdzie wy tu widzicie jakąś tabelkę ? ;P

a tak serio to to wygląda na przedstawienie danych tabelarnych więc robienie tego na divach by było debilne (no nie bardziej niż kod powyżej)


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-07-22 17:32
0

owszem, dane tabelaryczne do tabelek, ale tu chyba autor mial w zamysle wyswietlenie jednego rekordu, gdzie by wystarczyly

i <hx>, ewentualnie

  • ;)</p>

jezeli chcial wyswietlic wiecej, to rownie debilne jest wyswietlanie kazdego rekordu w osobnej tabeli :D

btw: czy ja taki przestarzaly jestem, ze nie uzywam switch? o_O


Pozostało 580 znaków

2006-07-22 18:54
0

A no ten blad z porównaniem- literówka, potem ja zauważyłem, bo posta pisalem dzies po nocy... Nie drzeć się na mnie, że ja z tymi tabelkami się męczę, ale taki sposób mi kolega podpowiedział, podonie jak {} w case. Ja siedze głównie w delphi, ale przyszła pora na stronkę dla softu :P No wszystko udało mi się uporządkować we miarę i chodzi. A propos

$zmienna.=($zmienna2);
  • wywalało mi błąd jeśli było inaczej [???] . To by było na tyle :P
    //edit:
    Pytanko-Czy da się(niekoniecznie w php) zrobić takie "coś", że by się czas co min zmieniał? No i jak dopełnić minuty zerami?(teoretycznie wiem, ale w praktyce marnie to wygląda :P )

"Łamałem ludzi, nie hasła" K. Mitnick

Pozostało 580 znaków

2006-07-22 22:45
0

tomkiewicz, a czemu przestarzaly?? Raczej niedouczony :P
A tak na powaznie jak masz zmienna "akcja" ktora przyjmuje np. wartosci "zapis", "odczyt", "usun", to jak to robisz?? if'em?? :/ wiecej kodu, mniej czytelny i wolniejszy (polemizowalem juz z jednym takim co twierdzil ze if'y sa szybsze, zrobilismy testy - zapytania w petli, i wiadomo co wyszlo :D)

Tommalla, "$zmienna.=($zmienna2);" moze miales literowke :P poza tym w kodzie powyzej nie miales kropki (.=), ale i tak nawiasy nie sa potrzebne :]

co do zmieniania czasu, php to jezyk po stronie serwera, wiec nie mozesz w nim napisac czego co by zmienilo Ci czas na stronie co minute (chyba ze byc co min przeladowywal strone :P)
Z pomoca przyjdzie tylko JavaScript, funkcja setTimeout(), i wlasna fillZero()

function fillZero(liczba) {
  return (liczba<10?'0':'')+liczba;
}

SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

2006-07-22 22:52
0

niby tak, ale jak przyjmuje 2 wartosci (jak w przykladzie - jakas konkretna, albo inna), to nie lepiej if...else?


Pozostało 580 znaków

2006-07-23 19:42
0

no nie wiem czy mniej czytelny, miałem pomieszany switch w php z htmlem - kod był zdecydowanie bardziej brudny niż z ifami
a jeśli zmienna przyjmuje jedną z 4 wartości to na pewno nie robiłbym porównywania stringów - bo to debilne


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-07-23 19:51
0

Heh, jesli mieszasz tak kod, to zawsze bedzie nieczytelny :]
Jedno z rozwiazan, zeby "troche" oddzieli kod to zrobic fukcje i w nich "kawalki kodu HTML", inne znacznie bardziej "estetyczne" kozystac z templatow :P

Adamo napisał(a)

a jeśli zmienna przyjmuje jedną z 4 wartości to na pewno nie robiłbym porównywania stringów - bo to debilne
hmmm, to jak to robiles??
dodanie - 0
edycja - 1
zapis - 2
usun - 3
?? ;-P
No to rzeczywiscie pozniej kod wyglada znacznie bardziej czytelny i od razu po spojrzeniu na niego wiadomo o co chodzi :>


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Pozostało 580 znaków

2006-07-23 20:19
0

po to się definiuje stałe, jak byś robił program sieciowy to jak u ciebie by wyglądały pakiety ?
zamiast np:
server: #1#0
klient: #2#3abc#0
byś robił pewnie
server: wprowadź login
klient: login to: abc

??

albo np jak lepiej:
znak - string
if($x > 20) $znak = $znak == 'minus' ? 'plus' : 'minus';

czy:

znak - bool
if($x > 20) $znak = ! $znak;

swoją drogą fajnie że najpierw mówisz o przewadze szybkości switch nad if o milionowe ułamki sekundy, a potem proponujesz template'y spowalniające prace już o całe setne sekundy ;P

nie no żart - wiadomo że template'y są lepsze* no ale sorry jak mam gotowy skrypt przeprawić to nie będę w niego ładował systemu template'ów bo już był wolał samemu napisać cały ten kod od początku

  • jeśli masz zamiar jeszcze kiedyś coś zmodyfikować w tym kodzie

Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0