 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
john_cocarcea
Data înscrierii: 19/Apr/2007
Mesaje: 7
|
| Trimis: Mie Iun 04, 2008 2:05 pm Titlul subiectului: Comparatie aproximativa intre 2 tabele |
|
|
Am creat aici un query care sa pot face comparatia din 2 tabele si sa actualizeze 2 campuri intr-una din ele unde Campurile de tip string "Denumire" sunt egale acest cod functioneaza
Cod: $sqlselect="UPDATE Tabela1 INNER JOIN Tabela2 ON Tabela1 .Denumire = Tabela2.Denumire SET Tabela1.codCamp1=Tabela2.codCamp1, Tabela1.codCamp2=Tabela2.codCamp2 ";
$add = mysql_query($sqlselect, $locala) or die(mysql_error());
As vrea sa creez un cod cu care sa facc o comparatie aproximativa , adica sa faca comparatia pentru inceput dupa toata denumirea si sa scoata cate un cuvant dupa fiecare incercare pana ajunge sa gaseasca o prima comparatie si sa seteze automat ca mai sus codul campurilor sa fie egale.
Pentru inceput am incercat o chestie cu array ceva de genul:
Cod:
$select1 = "SELECT Denumire FROM Tabela2";
$res=mysql_query($select1, $locala) or die(mysql_error());
while($row = @mysql_fetch_array($res))
{
$spatiu=" ";
$den_aray = explode($spatiu, $row['Denumire']);
$den='';
for($i = count($den_aray)-1; $i >=0; $i--)
{
$den=$den.' '.$den_aray[$i];
$sql = "UPDATE Tabela1 INNER JOIN Tabela2 ON Tabela1.Denumire LIKE '$den%' SET Tabela1.codCamp1=Tabela2.codCamp1, Tabela1.codCamp2=Tabela2.codCamp2 WHERE Tabela1.Denumire = '$den% '";
$arr= mysql_query($sql,$locala);
}
m-am cam ametit :cry: . PLs daca puteti sa veniti cu o optiune sau un sfat. Multumesc anticipat |
|
| Sus |
|
john_cocarcea
Data înscrierii: 19/Apr/2007
Mesaje: 7
|
| Trimis: Lun Iun 09, 2008 3:08 pm Titlul subiectului: |
|
|
$select1 = "SELECT Denumire, codCamp1, codCamp2 FROM Tabela2";
$res=mysql_query($select1, $locala) or die(mysql_error());
while($row = @mysql_fetch_array($res))
{
$den = explode(" ",$row['Denumire'],2);
$camp1=$row['codCamp1'];
$camp2=$row['codCamp2];
for($i = 0; $i < count($den); $i++){
$rezultat=$den[$i];
$sqlselectmod="UPDATE Tabela1 SET Tabela1.codCamp1=".$camp1.",Tabela1.codCamp2=".$camp2." WHERE Tabela1.Denumire LIKE '$rezultat%' ";
$addmod = mysql_query($sqlselectmod, $locala) or die(mysql_error());
} |
|
| Sus |
|
john_cocarcea
Data înscrierii: 19/Apr/2007
Mesaje: 7
|
| Trimis: Lun Iun 09, 2008 3:08 pm Titlul subiectului: |
|
|
| rezolvat mai sus |
|
| Sus |
|
vectorialpx
Data înscrierii: 01/Mar/2005
Mesaje: 3001
Locație: țopăi pe tasta DELETE
|
| Trimis: Lun Iun 09, 2008 8:06 pm Titlul subiectului: |
|
|
felicitari... o sa-ti dam o diploma...
...pentru ca ai postat de trei ori consecutiv, raspunzandu-ti la propriul thread 8O
totusi, e bine ca ai ajuns la 6 post-uri... sper sa nu continui asa pana ma depasesti |
|
| 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 |
|
| |
|