Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Dade, dade

Parola la lock screen

Deparazitare externa pisici fara ...

Seriale turcesti/coreene online H...
 Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 

while in while

* - - - - 1 votes
  • Please log in to reply
2 replies to this topic

#1
flipper4u

flipper4u

    Member

  • Grup: Members
  • Posts: 386
  • Înscris: 18.08.2006
Salutare,

Am si eu o mica problema si nu-i dau de cap...
Cu putinele mele cunostinte de php si mysql, am reusit sa imi fac un mini-crud, insa la partea de read, cand am inceput sa o dezvolt ceva mai mult, m-am blocat.

structura mea tabelara este urmatoarea:

tabela #clients
idClient   |  nameClient
---------------------
1    | client 1
2 |   client 2

tabela #offer
idOffer  |   nameOffer  |   idClient
----------------------------------
1 | oferta 1 |   1
2    |   oferta 2   |    2
2 | oferta 3 |   2

tabela #offerItems
idOfferItem | idOffer  |   valueOfferItem  |   quantityOfferItem
----------------------------------------------------------------
1   |    1   |    14.25 | 2
2   |    1   |    37    |   50
3    |   1   |    12 | 10
4   |    2    |   16.2 | 14
5 | 2    |   15.4    |   14
6 | 3    |   164 |    2


<?php
include 'functions.php';
$response = array();
$sql= "
SELECT offer.idOffer, offer.nameOffer, offer.dateOffer, clients.idClient, clients.nameClient FROM offer
INNER JOIN clients ON (offer.idClient = clients.idClient)
ORDER BY idOffer ASC";
$sql. ="
SELECT
";
$result = $conn->query($sql);
if (!$result) {
$response['status'][] = "Invalid query";
}
if ($result) {
// extrage detaliile ofertei
while($row = $result->fetch_assoc()) {
$response['items'][] = array(
	 'idOffer' => $row['idOffer'],
	 'nameOffer' => $row['nameOffer'],
	 'nameClient' => $row['nameClient'],
	 'dateOffer' => $row['dateOffer'],
	 'countOfferItem' => 'XXXXX',
	 'totalOfferItem' => 'YYYYY'
);
}
}
else {
$response['status'][] = "0 results";
}
$conn->close();
echo json_encode($response);
die();
?>


raspunsul json generat este
{
"items": [
{
	 "idOffer": "1",
	 "nameOffer": "oferta test 1",
	 "nameClient": "firma 1",
	 "dateOffer": "2020-12-31",
	 "countOfferItem": "XXXXX",
	 "totalOfferItem": "YYYYY"
},
{
	 "idOffer": "2",
	 "nameOffer": "oferta test 2",
	 "nameClient": "firma 2",
	 "dateOffer": "2020-08-12",
	 "countOfferItem": "XXXXX",
	 "totalOfferItem": "YYYYY"
}
]
}



Ceea ce partial este corect, insa nu stiu cum sa inlocuiesc XXXX si YYYY cu count de OfferItem si total de OfferItem (valueOfferItem x quantityOfferItem). Cred ca mi-ar mai trebui un while in interiorul primului while, dar tot ce am incercat a esuat lamentabil.


Este un proiect simplut, prin care vreau sa invat mai bine Angular (frontend) si cu ocazia asta imi bag nasul si in backendul de PHP, ca sa-mi dezvolt cat mai mult cunostintele. Multumesc mult pentru orice ajutor.


Toate bune.

Edited by flipper4u, 26 August 2020 - 23:27.


#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
SELECT... FROM offeritems
JOIN offers...
JOIN clients...

Altfel spus: te gândești ce vrei să afisezi. Vrei să afișezi toate offer items, și informațiile relevante? Atunci selecteze offeritems, și de acolo pornind, adaugi alte tabele de care ai nevoie.

#3
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,033
  • Înscris: 24.02.2006
astfel de valori (totaluri, functii pe un set intreg de date etc.) se obtin mult mai usor in sql decat in php.
citeste despre functiile sum si count, o sa ai nevoie de ele

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate