Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/SQL] Kropki w adresie
Forum PHP.pl > Forum > Przedszkole
free
Dla przykładu :
  1. <?php
  2. <a href=admin/newsy/edytuj.php?id=".$r['id']." class="link-menu">edytuj</a>
  3. echo "Znaleziono: ".$ile." rekord";
  4. ?>

Nie wiem czemu dla poprawnego działania muszą byc we fragmencie kropki
  1. <?php
  2. ".$r['id']." 
  3. ".$ile." rekord"
  4. ?>

a ponizej 1 kropka :
  1. <?php
  2. $warunki.=" and (tytul LIKE '%$wyniki[$i]%' || info LIKE '%$wyniki[$i]%' || tresc LIKE '%$wyniki[$i]%')";
  3. ?>


Wstawiam je w swoich skryptach "na czuja" wiem ze tak musi byc ale nie wiem dlaczego. Moze mi ktos to w prosty sposob wytlumaczyc, lub podeslac link do odp.
free
Dzieki Nospor za szybką odpowiedź, lae podesłany link nie rozwiązuje mojejgo problemu nadal nie wiem dlaczego stosuje sie to w adresach przy zmiennych
nospor
ale czy ty nie doczytales ze . laczy dwa stringi? a stosuje sie to wszedzie. a ze akurat przy Twoich adresach tez to dlatego ze tam sa dwa stroingi do polaczenia. tu nie ma zadnej filozofii.....
  1. <?php
  2. $zm = "<a href=admin/newsy/edytuj.php?id=".$r['id']." class="link-menu">edytuj</a>";
  3. ?>
to jest zwykly tekst do polaczenia. rowie dobrze zamiast twego adresu moze byc:

  1. <?php
  2. $zm = "tekst1".$r['id']."tekst2";
  3. ?>
zasada identyczna. a jaki tam tekst wstawisz to twoja sprawa
free
Juz mi sie rozjasnia :
operator kropki "zwraca łańcuch będący połączeniem zawartości lewego i prawego operandu".
Jezeli dobrze rozumiem to owa kropka potrzebna jest by połączyć w moim adresie
www.strona.pl/index.php?page=
z
$id
To nie doskonałość skladni jezyka podobnie jak koniecznosc stosowania break po kazdym case w poleceniu switch.
Jeszcze takie teoretyczne pytanie :
Napisales mi:
  1. <?php
  2. $zm = "tekst1".$r['id']."tekst2";
  3. ?>

Czy w kodzie:
  1. <?php
  2. <a href=admin/newsy/edytuj.php?id=".$r['id']" class="link-menu">edytuj</a>
  3. ?>
poprawne bedzie pominiecie ostatniej kropki z tego wzgledu ze nie uzywam niczego po $r[id] ? Czyli w Twoim przypadku "tekst2".
nospor
Cytat
To nie dooskonałość skladni jezyka podobnie jak koniecznosc stosowania break po kazdym case w poleceniu switch.
Jak to na forum ludzie potrafią czlowiekowi humor poprawic smile.gif
Patrzysz tylko wąskim okiem na pewne sprawy. break ma swoje zastosowanie. czasami jest potrzeba by nie bylo zakonczenia case i wtedy break sie nie daje... ale moze z czasem sie ta wiedza dojdzie.

Co do kropki to jak ty chcesz laczyc stringi?
"ala"+"ola"+"zosia"? zamiast . dac + ?

Popatrz jeszcze jak inaczej mozna wstawiac zmienne do stringa:
http://pl.php.net/manual/pl/language.types...g.syntax.double
i tym razem przeanalizuj to.
free
W podeslanym przez Ciebie I linku
  1. <?php
  2. $a = "Witaj ";
  3. $b = $a . "Świecie!"; // teraz $b zawiera ciąg "Witaj Świecie!"
  4. ?>

Jest 1 kropka wiec zastanawiam sie czy dopuszczalne jest zastosowanie:
  1. <?php
  2. <a href=admin/newsy/edytuj.php?id=".$r['id']" class="link-menu">edytuj</a>
  3. ?>

Cytat
ale moze z czasem sie ta wiedza dojdzie

co do break CYTUJE:
"Kolejna sprawa - zauważmy słowo break (przerwij) po algorytmie przypisanym kazdemu wariantowi. Słowo nie jest integralną częścią zwrotnicy, ale praktycznie zawsze musi w niej się znaleźć i to wiele razy. Moim zdniem koniecznosc konczenia kazdego skrawka algorytmu poleceniem break jest błędem w konstrukcji języka"
"C++ Ćwiczenia praktyczne" Andrzej Stankiewicz str 45.
nospor
Cytat
Jest 1 kropka wiec zastanawiam sie czy dopuszczalne jest zastosowanie:
to uruchim swok kod i sie dowiesz ze nie jest...
jest jedna kropka bo laczy tylko dwa stringi:
"pierwszy"."drugi"
Ale jak laczysz 3 to musza byc 2 kropki, to chyba analogiczne:
"pierwszy"."drugi"."trzeci"

Cytat
co do break CYTUJE:
"Kolejna sprawa - zauważmy słowo break (przerwij) po algorytmie przypisanym kazdemu wariantowi. Słowo nie jest integralną częścią zwrotnicy, ale praktycznie zawsze musi w niej się znaleźć i to wiele razy. Moim zdniem koniecznosc konczenia kazdego skrawka algorytmu poleceniem break jest błędem w konstrukcji języka"
"C++ Ćwiczenia praktyczne" Andrzej Stankiewicz str 45.


A ja ci zacytuje:
"Konczenie kazdego skrawka poleceniem break nie jest bledem konstrukcji"
"forum.php.pl" nospor dnia 08.08.2006

No i prosze, mamy teraz dwa cytaty i juz jest problem smile.gif

Przyklad
  1. <?php
  2. switch ($i) {
  3.  case 0:
  4.  //jakis kod dla 0. ale dla zera ma sie takze wywolac kod taki sam jak dla 1, wiec 
    nie daje break;
  5.  case 1:
  6.  //jakis kod dla 1. tylo to ma sie wykonac. daje break
  7. break;
  8.  case 2:
  9.  //jakis kod dla2
  10.  break;
  11. }
  12. ?>
free
Odbiegamy od tematu z tym break.
  1. <?php
  2. switch ($i) {
  3. case 0:
  4. case 1:
  5.  //jakis kod dla 0 i 1. wiec daje break;
  6. break;
  7.  case 2:
  8.  //jakis kod dla 1. tylo to ma sie wykonac. daje break
  9. break;
  10. ?>

Wedlug mnie i cytowanego Pana Stasiewicza wystarczyloby dac srednik jak w pozostalych zwrotnicach.

Cytat
Ale jak laczysz 3 to musza byc 2 kropki, to chyba analogiczne:
"pierwszy"."drugi"."trzeci"

ale ja łącze 2, albo mi sie ... wiec zastanawiam sie nad ta 1 kropką.
  1. Podales mi przykład: <?php
  2. $zm = "tekst1".$r['id']."tekst2";
  3. ?>

u mnie stasuje miejwiecej tak :
  1. <?php
  2. $zm = "tekst1".$r['id'].;
  3. ?>
wiec mam 2 stringi ktore łączę 1 kropką
nospor
$zm = "tekst1".$r['id']."tekst2"; - tu masz 3 rzeczy do laczenia:
1)"tekst1"
2) $r['id']
3) "tekst2"

$zm = "tekst1".$r['id'].; tu masz 2 rzeczy:
1)"tekst1"
2)$r['id']
kropka na koncu nie potrzebna, wrecz zbedna
  1. <?php
  2. $zm = "tekst1".$r['id'];
  3. ?>


Cytat
Wedlug mnie i cytowanego Pana Stasiewicza wystarczyloby dac srednik jak w pozostalych zwrotnicach.
Jak to sobie wyobrazasz? Srednik konczy bezposrednia konstrukcje. a jesli bys chcial miec sytuacje co przedstawilem to nie dasz srednika? Wowczas ci poleci parse errorem
free
Cytat
$zm = "tekst1".$r['id'].; tu masz 2 rzeczy:
1)"tekst1"
2)$r['id']
kropka na koncu nie potrzebna, wrecz zbedna

I o to mi chodziło w kodzie
  1. <?php
  2. <a href=admin/newsy/edytuj.php?id=".$r['id']" class="link-menu">edytuj</a>
  3. ?>
tez mam 2 rzeczy bo chyba class=link.. nie dotyczy bezposrednio adresu a jest tylko dodatkeim formatowania.
Wiec usunelem kropke na koncu czy jest poprawnie ?

Cytat
Jak to sobie wyobrazasz? Srednik konczy bezposrednia konstrukcje. a jesli bys chcial miec sytuacje co przedstawilem to nie dasz srednika? Wowczas ci poleci parse errorem

dokladnie wyskoczy błąd jezeli uzyjemy tylko srednika bez break; i dlatego jest to
Cytat
błędem w konstrukcji języka
jak to stwierdza znany programista Andrzej Stankiewicz. Nic dodać nic ująć. Przeciez mozna łączyć case ze sobą poprzez
case 0:
case 1:
chodzi mi tylko o to by zrozumiec skad sie wziely
dletego wtrąciłem ten przykład z case i break bo podobnie ma sie to ze skladnia uzywania kropki łączące 2 stringi ze soba. Na chłopski rozum /a taki mój jest/ kropki to dodatkowy bajt w skrypcie. Ale nie podwazam ich stosowania skoro są w składniu to musze sie dostosowac i stosowac je.
nospor
Cytat
tez mam 2 rzeczy bo chyba class=link.. nie dotyczy bezposrednio adresu a jest tylko dodatkeim formatowania.
Wiec usunelem kropke na koncu czy jest poprawnie ?
jakie 2? trzy:
1)<a href=admin/newsy/edytuj.php?id=
2)$r['id']
3)class=\"link-menu\">edytuj</a>

Co do case to juz z tobą nie dyskutuje. zresztą na temat kropek tez nie bo widze ze jednym uchem wlatuje, drugim wylatuje i ty dalej swoje
Gość
Dlaczego class=\"link-menu\" jest trzecim stringiem ? przeciez nie dotyczy adresu a jest tylko dodatkiem CSS ?
nospor
Pytanie za 100 punktow: jak to w calosci wyglada? tak:
  1. <?php
  2. echo "<a href=admin/newsy/edytuj.php?id=".$r['id']." class="link-menu">edytuj</a>";
  3. ?>
czy inaczej?
Bo jesli tak jak pokazalem, to masz 3 rzeczy. jesli inaczej to pokaz. bo caly czas mam wrazenie ze pokazales mi tylko kawalek kodu, ktory jest bez sensu. bo jesli to jest html, to dawanie tam kropek jest bez sensu, jak rowniez bez sensu jest wstawianie tam zmiennej $r
Gość
To jest czesc z kodu php i wyglada tak jak podales powyżej
nospor
No to skoro tak jest, to widac przeciez ze to są 3 rzeczy do polączenia, ktore ci rozpisalem w postach powyzej. Jesli ty tego nadal nie widzisz i nie rozumiesz, to ja sie poddaje i zycze milego dnia. Koniec dyskusji.
Gość
TZN bez tej komendy echo.
Po prostu jest kod strony php i miedzy innymi ten fragment:
  1. <?php
  2. .
  3. .
  4. .
  5. Czytano: $licznik razy | Dodano $data
  6. <a href=admin/unich/usun.php?id=".$r['id']." class="link-menu">u</a>| <a href=admin/unich/edytuj.php?id=".$r['id']." class="link-menu">e</a>
  7. .
  8. .
  9. .
  10. ?>
Kicok
Kolejną "niedoskonałością" języka php jest to, że nie można wstawiać sobie do niego byle jakiego tekstu, bo interpreter go nie zrozumie i wywali błąd. Dlatego swoją zmienną możesz wstawić albo tak:
  1. <?php
  2. echo('Czytano: '.$licznik.' razy | Dodano '.$data.'
  3. <a href=admin/unich/usun.php?id='.$r['id'].' class="link-menu">u</a>| <a href=admin/unich/edytuj.php?id='.$r['id'].' class="link-menu">e</a>');
  4. ?>


albo tak:
  1. Czytano: <?php echo($licznik); ?> razy | Dodano <?php echo($data); ?>
  2. <a href=admin/unich/usun.php?id=<?php echo($id); ?> class="link-menu">u</a>| <a href=admin/unich/edytuj.php?id=<?php echo($id); ?> class="link-menu">e</a>



Jest jeszcze jedna cecha języka php, która bardzo ci się spodoba. Zmienne wpisane w cudzysłowiach będą zastępowane ich wartościami. Przykład:
  1. <?php
  2. $zmienna = 'jakiś tekst';
  3. echo("Zaraz na ekranie pojawi się $zmienna !!!");
  4. #Zaraz na ekranie pojawi się jakiś teskt !!!
  5. ?>

Jak widzisz nie ma tutaj żadnej kropki biggrin.gif
free
Kicok dzieki za zainteresowanie tematem smile.gif
Zam te podstawy i wiem ze mozna pisac tez w Twojej wersji
  1. <a href=admin/unich/usun.php?id=<?php echo($id); ?> class="link-menu">u</a>

tylko wydaje mi sie ze w moim przypadku zamiast echo($id) powinno byc echo $r['id']

Podobnie w zapytanie SQL zauwazam uzycie kropki:
  1. $pytanie = "SELECT * FROM tabela WHERE pole_id = '" . $_GET['pole_id'] . "'";
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-2025 Invision Power Services, Inc.